在這裏我要優化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