很可能是你建的联合索引没派上用场,用explain分析或尝试创建单个regTime 索引,然后用force index查询SELECT viewCount, supplyId, productName, price, imgUri, origin, stockNum FROM ms_supply FORCE INDEX (regTime索引名) WHERE STATUS = 1 AND cateId BETWEEN 'E' AND 'EZZZZZZ' ORDER BY regTime DESC LIMIT 35
create index xx on ms_supply(status,cateId); create index yy on ms_supply(status,regTime); 创建这两个索引,至少MYSQL会用哪个,则看数据分布了。
索引被用到才会提升查询速度 ,另外你的 “regTime” 是 索引名称吗 ?能否把表结构共享一下 ,顺便说明要求 ,也许大牛们会有其他方法 解决此类问题 。
添加 索引 ,使用不同匹配关键字 ,使用 explain 分析一下 就知道了 !
viewCount,
supplyId,
productName,
price,
imgUri,
origin,
stockNum
FROM
ms_supply FORCE INDEX (regTime索引名)
WHERE STATUS = 1
AND cateId BETWEEN 'E' AND 'EZZZZZZ'
ORDER BY regTime DESC
LIMIT 35
create index yy on ms_supply(status,regTime);
创建这两个索引,至少MYSQL会用哪个,则看数据分布了。