可憐我有一個非常簡單的表有三列:MySQL的 - 在選擇業績從一個簡單的表格
- A BigINT,
- Another BigINT,
- A string.
前兩列被定義爲索引,也沒有重複。而且,這兩列的價值都在增長。
該表有近400K條記錄。
我需要選擇字符串時的值是內的那些塔1和兩個,爲了詞:
SELECT MyString
FROM MyTable
WHERE Col_1 <= Test_Value
AND Test_Value <= Col_2 ;
結果可以是找不到或單個值。
查詢需要幾乎整整一秒的時間,而直覺上(想象一個數組中的二進制搜索),它應該只需要一小段時間。
我檢查了索引類型,它是兩列(1和2)的BTREE。
任何想法如何提高性能?
在此先感謝。
編輯: 的解釋如下:
選擇類型:簡單, 類型:範圍, 可能的關鍵字:PRIMARY 重點:小學, 密鑰長度:8, 行:441, 已過濾:33.33 , 額外:使用where。
有複合索引? – YOU
在尋求績效建議時,有必要展示確切的表格結構和索引。使用EXPLAIN命令來讓查詢計劃者描述它正在做什麼也是有幫助的。請[編輯]您的問題以包含這些項目。 –
沒有複合索引@YOU。 – FDavidov