在MySQL 資料庫中有效搜尋逗號分隔值
處理包含逗號分隔值的資料表時,尋找特定配對可以是一項具有挑戰性的任務。在本例中,您有兩個表格:customers(包含電子郵件地址)和 imap_emails(其中 to 欄位包含以逗號分隔的電子郵件地址)。您需要根據客戶表中的電子郵件地址在 imap_emails 表中有效搜尋。
您可以利用 FIND_IN_SET 函數來執行更有針對性的搜索,而不是使用 LIKE 條件。此函數可讓您檢查是否在逗號分隔的字串中找到特定值。
解決方案:
以下查詢示範如何使用 FIND_IN_SET 來提高效率搜尋:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0
此查詢在兩個表之間執行內部聯接,符合 imap_emails 表的以逗號分隔的 to 欄位中存在客戶電子郵件的行。透過使用 FIND_IN_SET 而不是 LIKE,可以提高搜尋效率並避免誤報。
其他注意事項:
在您的問題中,您提到不能使用之間的關係桌。但是,如果您有能力建立關係(例如,使用外鍵),它將顯著提高搜尋查詢的資料完整性和效能。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3