您好,登錄后才能下訂單哦!
使用 WHERE ID IN 、臨時表 以及批處理的示例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
我們知道使用 WHERE ID IN (...) 語句時,如果 ID 有加索引,SQL 執行時是會使用索引的。
有一種說法是,當 IN 中查詢的數量非常大時,MySQL 無法使用索引,需要使用一張臨時表保存 id,再 join 臨時表查詢。
經過實際測試,發現MySQL 中 in 記錄數超過總記錄數的一定比例不會使用索引 另外,使用 id in (……)條件需要擔心的是,MySQL 對單條語句的長度是有限制的,由 sysvar_max_allowed_packet 參數控制,默認為 1M 。 所以,一般情況下使用 id in (……) 是沒有問題的,對于查詢數據較大的情況,建議保留使用臨時表的方式。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。