成都机械网站制作,重庆森林经典台词梁朝伟,开发公司年度总结报告,快排seo排名软件索引是为了加速数据的检索#xff0c;但是不合理的表结构或适应不当则会起到反作用。我们在项目中就遇到过类似的问题#xff0c;两个十万级别的数据表#xff0c;在做连接查询的时候#xff0c;查询时间达到了7000多秒还没有查出结果。首先说明#xff0c;关联的字段都已…索引是为了加速数据的检索但是不合理的表结构或适应不当则会起到反作用。我们在项目中就遇到过类似的问题两个十万级别的数据表在做连接查询的时候查询时间达到了7000多秒还没有查出结果。首先说明关联的字段都已经建立了相对应的索引在执行计划的时候发现另外一张表没有走索引结果如下图具体描述为Range checked for each record (index map: 0x1); Not exists优化1、当然最直接的想法就是修改两个表的request_id字段的定义改成相同即可。修改完成后执行计划还是和没有修改的时候一样2、由于两张表中的字段类型都是varchar类型的所以猜测会存在字符集的问题在Navicat中查看其排序规则不同3、修改完成后执行计划关联查询走了索引并且查询速度从之前的7000多秒没有查出结果变成了0.25秒出现了结果结论1、表列类型与where值类型不同会导致全表扫描。例phone char(11) select * from table where phone12345678901;2、join的两个表的字符编码不同不能命中索引会导致笛卡尔积的循环计算(mysql8.0已经做了相关优化字符集不在影响索引)以上内容希望帮助到大家很多PHPer在进阶的时候总会遇到一些问题和瓶颈业务代码写多了没有方向感不知道该从那里入手去提升对此我整理了一些资料包括但不限于分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6laravelYII2RedisSwoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家或 者关注我每天分享技术文章PHP架构师之路www.zhihu.com来源https://www.cnblogs.com/tm2015/p/11310451.html