我的表tbltemp
有大约9万卢比的记录。列为:id
(主键,自动增量),name
,qty
,price
,status
,mod_date
,{{1} }。
我的查询是:
created_date
执行大约需要7到10秒。如何优化我的表格或查询?
答案 0 :(得分:0)
您应该在qty
列上创建广告索引
无论如何ORDER By Rand()
是耗时的......
答案 1 :(得分:0)
以下是order by rand()
的替代方案。尝试一次,看看它是否有效
select @lims := floor(1+rand()*(count(*) - 1)) from tbltemp;
PREPARE mystatement FROM "SELECT * FROM tbltemp WHERE qty > 3 LIMIT ?, 50";
EXECUTE mystatement USING @lims;
答案 2 :(得分:0)
在您的查询中:
SELECT * FROM tbltemp WHERE qty > 3 ORDER By Rand() LIMIT 50
对于查询优化,请看一下:
qty
列。