1.在jion连接查询的时候,查询条件不走索引,如果sql语句没问题,索引设置也没问题,可以检查一下条件字段的字符集编码。
自己开发中遇到的,不走索引,查询时间需要120多秒,通过执行计划发现没有走Sql语句没有走索引,其他sql语句,索引设置都没有问题,然后检查字符集编码发现不一致,修改一致后,再次查询,查看执行计划,便看到sql语句走了索引。
2.group_concat函数最大长度,在做一个查询的时候,什么其他的部门都没问题,就一个部门查询时三级部门一直不能全部查出来,检查了sql语句,发现没有问题,然后想会不会是group_concat函数的问题,便查了一下group_concat函数的最大长度限制
show variables like "group_concat_max_len";
发现mysql默认的长度是1024
终于发现问题了,这个部门不能全部查出来,是因为,他下面三级部门数量太多,超过了限制,导致截断。
好心赛的问题!!!
解决方法
1、通过命令修改group_concat长度
SET GLOBAL group_concat_max_len = 10240;
上面通过命令修改,只是临时的,重启MYSQL服务便会失效
2、在MySQL配置文件中my.conf或my.ini中添加:
#[mysqld] group_concat_max_len=102400
这样修改配置文件便可以持久生效,不过需要重启服务才可以。