zoukankan      html  css  js  c++  java
  • 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 * ,只返回需要的列,能够大大节省数据传输量,与数据库的内存适用量

  • 相关阅读:
    jedis scan实现keys功能
    java简单实现一个阻塞式线程池
    Swift运算符
    数组的使用(1)
    Linux 常用命令
    Task02:基础查询与排序
    Task01:初识数据库
    摩尔投票法
    面向对象暑期课程总结
    xpath+requests+peewee——CSDN论坛全方位爬虫
  • 原文地址:https://www.cnblogs.com/changfengSven/p/7340391.html
Copyright © 2011-2022 走看看