sql技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql技巧相关的知识,希望对你有一定的参考价值。

1、负向条件查询不能使用索引

2、前导模糊查询不能使用索引

3、数据区分度不大的字段不宜使用索引

4、在字段上计算不能命中索引

5、如果业务大部分是单条查询,使用Hash索引性能更好

  B-tree索引的时间复杂度是O(log(n))

  Hash索引的时间复杂度是O(1)

6、允许为null的列,查询有潜在大坑

7、符合索引最左前缀,并不是指SQL语句的where顺序要和复合索引一致

8、使用ENUM而不是字符串 

  字符串占用空间大、效率低

9、如果明知道只有一条结果返回,limit 1 能够提高效率

10、把计算放到业务层而不是数据库层,除了节省数据的cpu,还有意想不到的查询缓存优化效果

11、强制类型转换会全表扫描

  select * from user where phone = 145682136547

  phone是字符串的话不会走索引的,加了引号就走索引了

12、不适用select * ,只返回需要的列,能够大大节省数据传输量,与数据库的内存适用量

以上是关于sql技巧的主要内容,如果未能解决你的问题,请参考以下文章

SQL优化之SQL 进阶技巧(上)

SQL优化之SQL 进阶技巧(上)

SQL开发实战技巧系列:SQL排序的那些事

SQL开发实战技巧系列:关于SQL不得不说的那些事

SQL开发技巧

Oracle中SQL*PLUS使用的一些技巧