1、缓存,在持久层或持久层之上做缓存。
2、数据库表的大字段剥离,保证单条记录的数据量很小。
3、恰当地使用索引。
4、必要时建立多级索引。
5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。
6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区)。
7、RAC。
8、字段冗余,减少跨库查询和大表连接操作。
9、数据通过单个或多个JOB生成出来,减少实时查询。
10、从磁盘上做文章,数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的。
11、放弃关系数据库的某些特性,引入NoSQL数据库。
12、换种思路存放数据,例如搜索中的倒排表。
查询条件:先写能过滤量大的条件,再写过滤量小的条件
2、数据库表的大字段剥离,保证单条记录的数据量很小。
3、恰当地使用索引。
4、必要时建立多级索引。
5、分析Oracle的执行计划,通过表数据统计等方式协助数据库走正确的查询方式,该走索引就走索引,该走全表扫描就走全表扫描。
6、表分区和拆分,无论是业务逻辑上的拆分(如一个月一张报表、分库)还是无业务含义的分区(如根据ID取模分区)。
7、RAC。
8、字段冗余,减少跨库查询和大表连接操作。
9、数据通过单个或多个JOB生成出来,减少实时查询。
10、从磁盘上做文章,数据存放的在磁盘的内、外磁道上,数据获取的效率都是不一样的。
11、放弃关系数据库的某些特性,引入NoSQL数据库。
12、换种思路存放数据,例如搜索中的倒排表。
查询条件:先写能过滤量大的条件,再写过滤量小的条件