索引日期值以提高搜尋效能
目前的問題涉及基於 DATETIME 欄位的日期部分優化表MyMySQL。給定的表“transactionlist”擁有超過一百萬筆記錄,並且使用查詢“SELECT * FROM transactionlist where date(TranDateTime) = '2008-08”專門查詢單一日期,例如“2008-08-17” -17'",會導致顯著的延遲。
要解決此效能瓶頸,請考慮在「TranDateTime」的日期部分建立索引。索引是一種以結構化方式排列資料的資料庫技術,可以更輕鬆、更快速地定位表中的特定資訊。可以繞過執行全表掃描的需要,從而顯著提高查詢效能。索引後,用於取得特定日期的所有交易的查詢可以重寫為:
透過利用「DATE」上的索引(TranDateTime),"MySQL可以直接存取相關行,無需掃描整個表,從而大幅減少查詢時間。CREATE INDEX idx_date ON transactionlist (DATE(TranDateTime));
以上是如何最佳化 MySQL 對日期值的查詢以提高搜尋效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!