56,914
社区成员




这是sql 语句:
SELECT id,title,type,spec,credit FROM eps_article wHeRe type = 'article' AND status = 'normal' AND addedDate <= '2022-07-30 13:32:10' AND eps_article.lang in('zh-cn', 'all') oRdEr bY `id` desc;
这是执行计划:
本地和服务器的数据量相差在1000以内,执行计划结果是一样的
服务器查询是不是分页查询?我也遇到过这种情况,后来发现是分页查询造成的。
硬件配置,网络传输 都会有影响
两者的执行计划是否有差异?
查询结果是否都返回本机?如果是,那么不要返回查询结果,使用 SELECT INTO OUTFILE 测试 下
25万数据,返回18.5万数据,很少吗?
本地与服务器最大的区别:
本地是静态的,服务器是动态的,有无数人在访问。
你应该把服务器改成nolock,类似下面,再试下
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
返回的结果集是185000 多条
服务器上开了bin_log 和慢查询日志,但也不可能把它拖累到这种地步
t_s_d_id_c_spec 是覆盖索引;数据量只有25万多
本地执行大概是3s 左右,但在服务器的MySQL 执行要130 多秒