博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL性能优化概要
阅读量:6298 次
发布时间:2019-06-22

本文共 797 字,大约阅读时间需要 2 分钟。

  hot3.png

基本概要

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性能优化十条经验:

MYSQL性能优化的最佳20+条经验:

SQL优化大总结之 百万级方案:

转载于:https://my.oschina.net/itommy/blog/1790397

你可能感兴趣的文章
asp.net动态换肤
查看>>
使用Scrapy构建一个网络爬虫
查看>>
Angular route传参
查看>>
ASP.NET 页面之间传递值的几种方式
查看>>
关于#include <bits/stdc++.h>
查看>>
HNOI2019游记
查看>>
图的遍历算法
查看>>
2012是团购移动电商年
查看>>
利用MySQL Cluster 7.0 + LVS 搭建高可用环境
查看>>
windows WebStorm常用快捷键记录,常用的都在这儿找扒
查看>>
初学 Python(十三)——匿名函数
查看>>
UVA 10795 新汉诺塔问题
查看>>
NOIp 图论算法专题总结 (1):最短路、最小生成树、最近公共祖先
查看>>
ps 进程查看器
查看>>
Bing缤纷壁纸
查看>>
UWP 矢量字体图标(iconfont)使用
查看>>
动物界的再生一个故事
查看>>
自定义转换
查看>>
WPF与Win32互操作
查看>>
TNF诱导的关节破坏由IL-1介导
查看>>