Mysql查询优化
来源:互联网 发布:泰尔指数公式及其算法 编辑:程序博客网 时间:2024/06/01 09:50
近日帮舍友做一个数据的处理任务,里面需要对比较大的数据表进行查询操作。一开始查询的时间比较长,经过了一些查询,对查询进行了一些优化操作,下面总结下一般的查询优化。
1、对表加索引,主要是对SQL中作为条件的字段进行加索引。
例如:SQL为
SELECT c.nid,c.nvalue FROM (SELECT a.nid,a.nvalue,(@rowno:=@rowno+1) AS rowno FROM (SELECT * FROM tab_test WHERE nid=58238) a,(SELECT (@rowno:=0)) b WHERE a.nmonth=1 AND a.nday BETWEEN 1 AND 10 ORDER BY a.nvalue DESC) c WHERE rowno=16
查询时间较长,通过对tab_test表的nid字段添加索引,可以将查询时间缩短1/3左右。添加索引啥SQL如下:
ALTER TABLE tab_test ADD INDEX idx_test (nid)
2、在SQL中不要出现select * 的情况,将*替换为对应的字段,不要出现任何多余的字段查询。
3、尽量在where条件中不要使用or条件,否则引擎将放弃索引而进行全表扫描。比如:
select id from tab_name where num=1 or num=2
可以改写为:
select id from tab_name where num=1union allselect id from tab_name where num=2
4、使用exists代替in比较好
5、where条件中不要出现计算,或者是not null判断。
阅读全文
0 0
- MySQL优化---查询优化
- mysql优化之查询优化
- Mysql性能优化-查询优化
- MYSQL数据库查询优化
- MySQL查询优化技术讲座
- MySQL查询优化技术讲座
- MySQL查询优化程序
- MySQL查询优化技术讲座
- MySQL查询优化技术讲座
- 优化MySQL数据库查询
- MySQL查询优化-Admin
- 优化MySQL数据库查询
- 优化MySQL数据库查询
- MySQL查询优化程序
- MySQL查询优化技术讲座
- 优化MySQL数据库查询
- mysql查询优化方法
- MySQL 查询优化
- logistic regression 和 softmax regression的损失函数
- ImageLoader学习笔记一
- 第二周了,革命尚未成功同志仍需努力,↖(^ω^)↗
- 安卓Java字符串String函数构造取文本中间
- LBF算法的环境配置
- Mysql查询优化
- 浮动与清浮动
- IOS中的类
- 欢迎使用CSDN-markdown编辑器
- Java多线程系列--Condition条件
- subtime text3
- nginx ssl以及支持pathinfo模式,
- 根据面试题谈fork
- 7.17 模拟赛