在这里我要优化SQL查询如何优化SQL连接查询
SET SQL_BIG_SELECTS=1;
SELECT
`Surveys`.`fname`
, `Surveys`.`lname`
, `Surveys`.`smobile`
, `Surveys`.`semail`
, `Surveys`.`country`
, `Surveys`.`city`
, `Surveys`.`sdob`
, `Brand`.`brandname`
, `Product`.`productname`
, `Surveys`.`outletcode`
, `Surveys`.`outletname`
, `Surveys`.`coupon_no`
, `Users`.`username`
, DATE_ADD(`Surveys`.datetime, INTERVAL 8 HOUR) as datetime
, `Surveys`.`duration`
, userentry.couponcode as wcouponcode
, userentry.couponcodecountry
, userentry.prizename
, DATE_ADD(userentry.datetime, INTERVAL 8 HOUR) as wdatetime
FROM
`Surveys`
INNER JOIN `Brand`
ON (`Surveys`.`brandid` = `Brand`.`brandid`)
INNER JOIN `Product`
ON (`Surveys`.`productid` = `Product`.`productid`) AND (`Surveys`.`brandid` = `Product`.`brandid`)
INNER JOIN `Users`
ON (`Surveys`.`userid` = `Users`.`userid`)
INNER JOIN `userentry`
ON (`userentry`.`mobile` = `Surveys`.`smobile`)
,如果我不写SET SQL_BIG_SELECTS = 1;这是行不通的
即使SQL_BIG_SELECTS其到期(SQL超时),
因此如何优化这个查询
请帮我
你看到了吗? http://stackoverflow.com/questions/950465/mysql-sql-big-selects连接字段上的索引?每张表有多少条记录以及您希望返回多少条记录?你有没有在SELECT前面加一个EXPLAIN来看看MySQL将如何执行它? – AgRizzo
感谢所有人,但有没有任何查询更改或只是索引是选项? ,我已经upvoted所有,再次感谢 – anytime
这里的主要问题是为什么你需要所有这些行(就你需要'SQL_BIG_SELECTS')?因为如果您打算应用另外几个条件或LIMIT子句,则会有另一个查询。 – newtover