zoukankan      html  css  js  c++  java
  • SQL性能优化概要

     

    基本概要

    1.查询的模糊匹配时,避免使用Like '%开头',使得索引失效

    2.索引问题

        ◆ 避免对索引字段进行运算操作和使用函数

        ◆ 避免在索引字段上使用not,<>,!=

        ◆ 避免在索引列上使用IS NULL和IS NOT NULL

        ◆ 避免在索引列上出现数据类型转换

        ◆ 避免建立索引的列中使用空值 索引需要慎重考虑

        ◆ 建索引需要慎重考虑,最好不要超过6个,已经建好的在这基础上建

    3.复杂操作:嵌套多级子查询,拆分成几步,可以生成一些临时数据表,再进行关联操作

    4.Update:同一张表的修改避免多次,并且不要Update全部字段

    5.在可以使用UNION ALL的语句里,使用了UNION

    6.对Where 语句的法则:

        (1)避免在WHERE子句中使用in,not in,or 或者having,可以使用 exist 和not exist代替

        (2) 不要以字符格式声明数字,会使得索引无效;

    7.对Select语句的法则,避免使用*

    8.排序:避免使用耗费资源的操作,带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎 执行,耗费资源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需要执行两次排序

    ————

    9.先 truncate后 drop

    10.尽量避免大事务操作,提高系统并发能力

    ————

    11.访问频繁并且不太会改变的数据设置缓存

    12.EXPLAIN 你的 SELECT 查询

    13.LIMIT限制需要的行数

    14.Where子句字段设置索引

    15.选择正确的存储引擎

    参考概括:

    SQL性能优化十条经验:http://database.51cto.com/art/200904/118526.htm

    MYSQL性能优化的最佳20+条经验:https://coolshell.cn/articles/1846.html

    SQL优化大总结之 百万级方案:https://www.cnblogs.com/yunfeifei/p/3850440.html

     
  • 相关阅读:
    ubuntu播放器
    第一次装ubuntu 没root密码时
    web服务器记录
    socket udp编程步骤
    nfs服务器配置
    带线程函数编译条件
    linux使用一个刚编译驱动方法
    tiny6410_led驱动Makefile
    java-设计模式-外观模式
    java-实现一个简单的java Web容器
  • 原文地址:https://www.cnblogs.com/itommy/p/10644558.html
Copyright © 2011-2022 走看看