MySQL查询优化程序
2024-08-27 13:10:27
1.利用EXPLAIN 语句,查看是否用到索引:
EXPLAIN SELECT * FROM tb1_name WHERE 1= 0
2.下面的WHERE 子句说明了怎样进行这项工作。第一行中,优化程序将简化表达式4/2 为值2,然后使用my_col 上的索引快速地找到小于2 的值。而在第二个表达式中,MySQL必须检索出每行的my_col 值,乘以2,然后将结果与4 比较。没索引可用,因为列中的每个值都要检索,以便能对左边的表达式求值:
WHERE my_col < 4/2
WHERE my_col * 2 < 4
3.在LIKE 模式的起始处不要使用通配符。有时,有的人会用下列形式的WHERE 子句来搜索串:
WHERE col_name LIKE "%string%"
如果希望找到s t r i n g,不管它出现在列中任何位置,那么这样做是对的。但不要出于习惯在串的两边加“ %”。如果实际要查找的只是出现在列的开始处的串,则不应该要第一个“%”号。例如,如果在一个包含姓的列中查找“ M a c”起始的姓,应该编写如下的WHERE 子句:
WHERE last_name LIKE "Mac%"
优化程序考虑模式中的开始的文字部分,然后利用索引找到相符合的行。不过宁可写成如下的表达式,它允许使用last_name 上的索引:
WHERE last_name >= "Mac" AND last_name < "Mad"
这种优化对使用REGEXP 操作符的模式匹配不起作用。
最新文章
- PHP如何将进程作为守护进程
- json跨域原理及解决方法
- 用C语言画一个“爱心”
- (spring-第16回【AOP基础篇】)基本概念
- 如何使用编辑模板在ASPxGridView中进行新增修改(除去常规的gridviw模板编辑外)
- lintcode: 最长连续序列
- 团体程序设计天梯赛-练习集L1-021. 重要的话说三遍
- sublime开启php自动代码补全
- Candy----HDU4465----数学题
- ActionBarSherlock学习笔记 第一篇——部署
- 在Centos 5.4上安装Mysql5.5.10 (整理以前的工作文档)
- Zeppelin0.6.2使用hive解释器
- Openjudge-计算概论(A)-计算三角形面积
- 2.1 实践篇:使用ping来检测网速
- 时间效率:整数中1出现的次数(从1到n整数中1出现的次数)
- JAVA几种常见的编码格式(转)
- 北斗时钟同步系统-GPS卫星授时设备-NTP网络校时服务器
- arp_spoof脚本的编写
- 工控随笔_17_西门子_WinCC的VBS脚本_06_过程和函数
- Microsoft SQL - 学习总目录