1、表的碎片整理。在表数据的频繁修改之后,行链接和行迁移是很难避免的,表的碎片整理有利于全表扫描的时候,Oracle扫描最少的数据块。
2、将表改为分区表。按照业务逻辑将表数据分区存储。
3、仍然是设计问题。将表空间和索引空间分离,尽量减少扫描Oracle读取指针的扫描范围。
4、使用物化视图。在Oracle的内存中检索数据,已达到数据的查询最快化。
5、在需要Full Table Scan的时候避免Fast Full Index Scan。
6、对于大表增加data buffer,对于小表使用keep buffer。
7、减少pctused值,用空间换速度。(哈哈,有钱才行,没钱的量力而为)
8、将大表建立在哈希簇中。
9、将表改为索引组织表。
10、使用并行查询。
11、使用压缩数据表。
12、应用数据库六范式,最大化的消除数据冗余。
13、将select * 中的 * 改为字段名以避免查询语句再到数据字典中查询列名。