JOIN优化
博主今天为大家带来JOIN的优化以及如何查询%name%或like %name%更为有效,只有少部分,有待补充提高,如有更好地建议,欢饮讨论!
前言:
为什么要优化JOIN!为什么谈到如何查询%name%或like %name%!在下述博文中,博主将为大家带来一点建议,希望又有,如有补充或者异议,欢迎讨论!
进入正题:
如何优化JOIN:
请跳转我的这篇文章《MySql系列(三):JOIN的原理和算法》,找出驱动表和被驱动表,在被驱动表上建立索引,即可提高连接性能。
如何查询%name%或like %name%:
如下图所示,虽然给secret字段添加了索引,但在explain结果并没有使用:
- 那么如何解决这个问题呢,答案:使用全文索引。
// 在我们查询中经常会用到这样的语句,普通索引是无法满足查询需求的。
SELECT XXX FROM XXX WHERE user_name like '%zhangsan%'; 。
- 庆幸的是在MySQL中,有全文索引来帮助我们。
- 创建全文索引的SQL语法是:
ALTER TABLE `要创建索引的表名` ADD FULLTEXT INDEX `要添加索引的字段` (`user_name`);
- 使用全文索引的SQL语句是:
SELECT XXX FROM XXX WHERE match(user_name) against('zhangsan' in boolean mode);
- 注意:在需要创建全文索引之前,请联系DBA确定能否创建。同时需要注意的是查询语句的写法与普通索引的区别。
最后
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97902.html