任何人都可以給我一個關於如何優化此更新的提示MySQL查詢需要大約一分鐘的時間來處理?優化包含EXISTS的MySQL UPDATE查詢的性能
UPDATE store s
SET reservation=1
WHERE EXISTS (
SELECT 1
FROM item i
WHERE s.reservation=0
AND s.status!=9
AND s.id=i.store_id
AND i.store_id!=0
)
我需要更新(設置預約= 1),在「商店」表中的所有行(這是非常大),那裏是目前預訂= 0,但它在另一個表「項目」存在的ID。表「項目」也很大,但不如「存儲」。
我不是創建高效查詢的專家,所以請原諒我,如果這只是一種完全錯誤的態度,整個事情都有一個簡單的解決方案。
感謝您的任何想法。
感謝您的全面解答 - 將子查詢重寫爲JOIN實際執行速度要快得多 - 而不是幾分鐘就花了幾秒鐘!添加索引對於未來的操作將更加有效。 – Johnny