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
SQL性能优化概要的更多相关文章
- SQL性能优化常见措施(Lock wait timeout exceeded)
SQL性能优化常见措施 目 录 1.mysql中explain命令使用 2.mysql中mysqldumpslow的使用 3.mysql中修改my.ini配置文件记录日志 4.mysql中如何加索引 ...
- SQL性能优化案例分析
这段时间做一个SQL性能优化的案例分析, 整理了一下过往的案例,发现一个比较有意思的,拿出来给大家分享. 这个项目是我在项目开展2期的时候才加入的, 之前一期是个金融内部信息门户, 里面有个功能是收集 ...
- SQL性能优化
引言: 以前在面试的过程中,总有面试官问道:你做过sql性能优化吗?对此,我的答复是没有.一次没有不是自己的错误,两次也不是,但如果是多次呢?今天痛下决心,把有关sql性能优化的相关知识总结一下,以便 ...
- 如何进行正确的SQL性能优化
在SQL查询中,为了提高查询的效率,我们常常采取一些措施对查询语句进行SQL性能优化.本文我们总结了一些优化措施,接下来我们就一一介绍. 1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE ...
- SQL Select count(*)和Count(1)的区别和执行方式及SQL性能优化
SQL性能优化:http://www.cnblogs.com/CareySon/category/360333.html Select count(*)和Count(1)的区别和执行方式 在SQL S ...
- 如何进行SQL性能优化
在SQL查询中,为了提高查询的效率,我们常常采取一些措施对查询语句进行SQL性能优化.本文我们总结了一些优化措施,接下来我们就一一介绍. 1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE ...
- 关于SQL性能优化的十条经验
1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会 ...
- ORACLE数据库学习之SQL性能优化详解
Oracle sql 性能优化调整 ...
- 我对SQL性能优化的看法,对我的文章有提议的欢迎评论!
影响你的查询速度的原因是什么? 网速不给力,不稳定. 服务器内存不够,或者SQL 被分配的内存不够. sql语句设计不合理 没有相应的索引,索引不合理 表数据过大没有有效的分区设计 数据库设计太2,存 ...
随机推荐
- 记ubuntu sudo无法使用,su密码不对的解决办法
前言 因为我有强制关机的习惯, 然后就杯具了.. ubuntu版本是 16.04 sudo没法使用, su密码不对, 顿时我就慌了 解决方案 1.1.开机点击ESC,进去GUN GRUB界面 1.2. ...
- 进程and线程and协程效率对比
1.进程与进程池的效率对比 多进程:p.start()过程中,只是向操作系统发送一个信号,至于什么时候执行,都是操作系统的事情,操作系统接收到信号时,帮该进程申请一块内存空间+拷贝父进程的地址空间 # ...
- Scrapy终端(Scrapy shell)
1.介绍文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/topics/shell.html# 2.终端的启用方式:scrapy shell url u ...
- sqli-labs(27)
0X01 先查询闭合 ?id=' 报错 ?id='' 正确 知道是’的闭合语句 0X02那么开始我们的注入之旅 空格过滤了 尝试一下%0a绕过 #也被过滤了 那么用and '1'='1构造闭合 ?i ...
- [CSP-S模拟测试]:Six(数学)
题目传送门(内部题85) 输入格式 一个正整数$N$. 输出格式 一个数表示答案对$1000000007$取模后的结果 样例 样例输入1: 样例输出1: 样例输入2: 样例输出2: 样例输入3: 样例 ...
- @WebService这个标签的作用是什么
当实现 Web Service 时,@WebService 注释标记 Java 类:实现 Web Service 接口时,标记服务端点接口(SEI). (声明webservice服务) 要点: • 实 ...
- NDK undefined reference to 'rand'
NDK 编译 结果报错undefined reference to 'rand' 最怪异的是armeabi-v7a armeabi的情况下有问题 但是arm64-v8a编译正常,用网上说的添加头文件s ...
- MySql 使用递归函数时遇到的级联删除问题
以下两段SQL的写法看似相同,结果效果却是不同的 写法A: DELETE OM_ORGANIZATION, OM_POSITION FROM OM_ORGANIZATION LEFT JOIN OM_ ...
- iOS常用加密之RSA加密解密
前言: iOS常用的加密有很多种,前两天在工作中遇到了RSA加密,现在把代吗分享出来. RSA基本原理 RSA使用"秘匙对"对数据进行加密解密.在加密解密数据前,需要先生成公钥(p ...
- 四、IDEA创建SpringBoot项目
1.从官网下载之后直接导入IDEA: 下载完成解压之后如下图: IDEA导入该项目: 之后一路next即可 导入成功之后你可能会发现左下角一直有个进度条在进行,傻傻的同学可能以为是在下载jar包,下个 ...