求职复习系列6数据库优化

在数据库中,优化主要在查询那个方面的,优化也主要查询方面,

查询方面如何优化,在我们学习mysql时,我们都知道一个叫主键的东西,在每个表都会添加一个主键,主键是唯一的,不能重复的,

查询的时候推荐使用主键作为条件,在数据库中主键页数主键索引,

索引常用的有:普通索引,唯一索引,主键索引,组合索引

创建适当的索引可以提高查询的效率.但是过多的索引也会影响添加,删除修改的操作,应为索引的本质就是在按照字段的排序规则进行排序,按照排序规则排序,查找的时候使用二分法进行查找.如果过多的索引会导致每次添加 修改和删除的时候进行重新排序

使用组合索引的时候,如果要查询的字段不构成索引最左面的前缀,那么就不会是用索引,

比如:

由id、name和age3个字段构成的索引,索引行中就按id/name/age的顺序存放,索引可以索引下面字段组合(id,name,age)、(id,name)或者(id)。否则就不会使用组合索引进行查询

查询语句上的优化

避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符. 

能够用BETWEEN的就不要用IN
能够用DISTINCT的就不用GROUP BY
使用group by分组查询,完成后会先进行排序.会降低速度: 添加order by null
有些情况下连接查询代替子查询, join不会创建临时表
尽量不要用SELECT INTO语句。SELECT INTO 语句会导致表锁定,阻止其他用户访问该表。
必要时强制查询优化器使用某个索引
尽量避免在索引过的字符数据中,使用非打头字母搜索。这也使得引擎无法利用索引。

尽量使用数字型字段.


分享到:


相關文章: