网站首页 mysql技术
帮朋友160W条数据SQL优化过程
发布时间:2016-11-29 05:38查看次数:2910
帮朋友160W条数据SQL优化过程
今天朋友说数据采集导入后!查询非常忙!让帮忙看看!
朋友多就是好!那咋就帮忙呗!先看需要优化的SQL页面 与业务逻辑
1.业务分析他分三个搜索 名字 编号 描述
2.数据库使用的字段varchar 可变长的 看SQL 加入了ORDER BY
3.这里我们基本上可以肯定创建索引规则
第一 他没有复合搜索,所以不用建立最左原则的复合索引
第二 查询时间只需要显示名字 以及编号(编号这里是索引规则的重点)
因为使用到ORDER BY 他单独是没有索引的 所以要加上 where 要搜索的字段~
所以索引字段建立在查询条件上!
explan selece * form game where code = 3% order By game_code 索引没有起作用?
为什么呢? 第一用了 *号匹配符 第二 order 没有配合limit
因为他是模糊搜索索引呢 加 limit 不现实
那就使用另外一种优化策略!
explan selece code,game_code form game where code = 3% order By game_code
这样优化SQL语句后 查询扫描行数从160W 简单到63行 时间从卡死MYSQL 到 0.0003秒响应
同事索引语句 建议避免这样使用%3% 类型的通配符~~索引死活的不起作用的
其次复合搜索 在多条件下最好还是使用 集合模式
完事!
2016年11月29日13:35:53 德玛西亚 杭州
mysql 索引规则 最左原则 B+TREE B-TREE 的二叉树策略
关键字词:mysql##