在sobey公司工作中,我们经常用到MySQL数据库,有时候在编码或者测试的时候,会考虑到项目的性能。特别是WEB项目,下面总结我认为适用的sql性能优化方案:
1:当你查询表的有些时候,你已经知道结果只会有一条结果,获取一行数据时使用 LIMIT 1。
2:比如模糊搜索的时候,你可以为搜索字段建立索引,例如: where name like "a%", 可以为name这个字段建立索引。
3:在两张表或者多张表中连接查询的时候,使用join的时候,让on的条件字段的类型相同,推荐使用int, 并为条件字段建立索引是提高效率的好方法。
4:避免 SELECT *,在页面或者编码过程中需要数据库表中的某个字段的值就在sql中取某个字段的值,不要全部查出来。
5:永远为每张表设置一个ID,并且为这个id字段建立索引,在大多数的过程中我们需要通过id查询数据。
6:尽可能的使用 NOT NULL,在查询条件为空时,尽量使用not null。
7:在有时候查询时,查询条件大概差不多的时候,我们用列的字段相对较小,则查询条件相对较快。