`

关于项目中相关优化--分页查询慢问题排查步骤

 
阅读更多

项目中10条数据的分页列表查询大概要6秒多,原SQL只是在3000014行的表数据里查询,如图:

因为是mysql的数据库,mysql可能通过explain与desc来查看并分析sql语句的执行情况,如图:

可以看出有创建有索引的,如果不放必索引创建有问题,可以通过 show index from tableName 来查询表

创建索引,奇怪的有索引查询还那么慢,难道索引不起作用还是索引创建后不可用,于是我尝试备份了这张表

 

-- 创建备份表
create table t_gateway_info_back select * from t_gateway_info;

 这样只是创建表结构与数据,同样的在此表上执行查询耗时还是没有什么变化,从这里可以看出我们创建的索引没有起作用,为什么呢?查看了一下表结构字段定义为varchar(64)类型,返回去再看看sql发现查询条件的参数类型有问题(到这里你发现问题没有?),修改sql执行查询,如图:

 

 

到这里问题应该明白了,可以看到 mysql 帮我们做了一件事儿"隐式转换".
 
 
 

 

  • 大小: 17.8 KB
  • 大小: 207 KB
  • 大小: 192.9 KB
  • 大小: 240.6 KB
  • 大小: 54.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics