数据库优化


数据库优化有几个方面:
- SQL语句以及有效索引、数据结构、系统配置、硬件。
成本由低到高,效果有高到底。

1. SQL以及索引的优化是最重要的。首先要根据需求写出结构良好的SQL,然后根据SQL在表中建立有效的索引。但是索引太多的话,不但会影响写入效率,对查询也有一定的影响。
2.要根据一些范式来进行表结构的设计。设计表结构时,就需要考虑如何设计才能够更有效的查询。
3.系统配置的优化。mysql数据库是基于文件的,如果打开的文件数达到一定数量,无法打开之后就会频繁的IO操作。
4.硬件优化。更快的IO、更多的内存。一般来说内存越大,对于数据库的操作越好。但是CPU多就不一定了,因为他并不会用到太多的CPU数量,有很多的查询都是单CPU。另外使用高德IO(SSD,RAID),但是IO并不能减少数据库锁的机制。所以说如果查询缓慢是因为数据库内部的一些锁引起的,那么硬件优化就没有什么意义。

目前来说,掌握了SQL及索引的优化就足够了。