我在嘗試瞭解如何正確使用帶有基本查詢的索引。通過簡單的選擇查詢瞭解索引
例如:
我有以下幾列的表 'TESTME':
id int primary key
username varchar(20)
data1 int
data2 int
data3 int
data_order int
,如果我做
select username,data1,data2 from testme where data3=5 order by data_order;
哪一種指標,我可以用它來加快查詢?
我試着在列data3和data_order上添加索引,但對該查詢的'explain'結果表明它不使用該索引。
更新: 使用的MySQL Cluster(NDB)
你的桌子有多大?我不確定MySQL,但在許多RDBMS中,通過表掃描而不是索引訪問相對較小的表(通常少於大約100,000行)會更快。 – 2012-01-17 12:46:58
這個表格實際上很小,但是這個查詢出現在我的緩慢查詢日誌 – ufk 2012-01-17 12:50:14
上,因爲@Dems建議應該是最好的,所以''(data3,data_order)'上的BTREE索引。 – newtover 2012-01-17 12:55:57