常见的数据库优化方法:索引(数据库),缓存,分表,分库,sql优化。
索引:创建索引一般有以下两个目的:维护被索引列的唯一性和提供快速访问表中数据的策略。95% 的数据库性能问题都可以采用索引技术得到解决。索引有助于提高检索性能,但过多或不当的索引也会导致系统低 效。因为用户在表中每加进一个索引,数据库就要做更多的工作。过多的索引甚至会导致索引碎片。
缓存:hibernate,spring3有缓存模块
分表:针对每个时间周期产生大量的数据,可以考虑采用一定的策略将数据存到多个数据表中。
分库:就是将系统按照模块相关的特征分布到不同的数据中,以提高系统整体负载能力。
sql优化:
1.in 和 not in 也要慎用,因为IN会使系统无法使用索引,而只能直接搜索表中的数据。
2.当判断真假是,如果带and 或者 or :
(当存在 “where 条件1 and 条件2” 时,数据库先执行右边的语句)
and尽量把假的放到右边(一个为假就为假) or尽量把为真的放到右边(一个为真就为真)
3.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描
4.使用视图加速查询