所以我的查詢確實有效,但需要大約25-30秒才能完成。我想知道如果我能用這個查詢來做什麼來優化它,所以它可能運行得更快一點?我自己做了一些,但最多隻能跑25秒。任何我可以優化這條SQL語句的方法?
任何建議或幫助?即使只是一個正確的方向點將不勝感激。
SELECT * FROM `earnfrom` WHERE (
`active` = ? AND `type` = ?
)
AND `curdaily` <= `dailyclick` AND `clicks` <= `totalclick` AND `id` NOT IN (
SELECT `earnid` FROM `earnedby` WHERE `userid`= ?
)
AND `userid` != ? AND (
SELECT `points` FROM `users` WHERE `id` = `userid`
) >= `cpc` ORDER BY `cpc` DESC, RAND()")
這裏的表方案:
表earnedby: earnedby
表earnfrom: earnfrom
表用戶: prntscr.com/2xpmre
DB具有2711具有相同類型的鏈接(Faceb ook喜歡),它需要讓那些還沒有被喜歡的人(不是IN(SELECT * FROM`....),但是一個星期以來沒有成爲一種痛苦(因爲我每天獲得超過210個用戶)
所以查詢應該這樣做:
選擇從數據庫的鏈接,驗證是否漲停點擊是平等的,選擇那些誰的arent相等,驗證是否在另一個表(earnedby)的存在id
earnid,如果沒有那一個應該是不錯的,如果存在就意味着它其實已經很喜歡,或者有厘金
感謝您關注我的問題〜當問題
沒有查詢計劃 - >沒有幫助。 – user2864740
添加了更好的描述〜 – c0d3x
誰在關心描述,什麼是查詢計劃*? – user2864740