一、硬件调优
使用频率高的CPU、使用多处理器、加大内存容量、增加Cache、提高网路速度等。
二、软件调优
优化方法:
1、创建必要的索引
2、使用预编译查询
3、调整where子句的连接顺序(比如:表连接写在其他where条件之前)
4、select语句中避免使用*
5、尽量将多条sql压缩到一条sql中
6、用where子句替换having子句,因为having是检索完所有记录在过滤
7、使用表别名
8、用exists替代in
9、用表连接替代exists
10、避免 在索引列上使用计算
11、用union all替代union
12、防止检索范围过宽(比如不等于)。
索引是数据库调优最根本的优化方法。
根据索引的顺序和数据表的顺序是否相同,可以把索引分为两种类型:(相同)聚簇索引
和(不同)非聚簇索引。
举例:字典的目录就是一种索引,通过目录快速定位到检索内容。汉语字典拼音目录按拼音顺序排列,属于聚簇索引,偏旁部首目录则非聚簇索引。
应该在表中经常搜索的列或按顺序访问的列上创建聚簇索引。当创建聚簇索引时每一个表只能有一个聚簇索引,因为表中的物理顺序只能有一个,而非聚簇索引可以创建多个。
缺点:索引占据存储空间,而且会降低数据插入、更新、删除的速度,所以只创建必要的索引,一般在检索时用的字段中创建。
索引会造成存储碎片,当删除一条记录时会导致索引中该记录的对应项为空,所以要重建索引,即删除先前创建的索引重建。
,