我有列的表(用戶)作爲mysql的多指標問題
id INT AUTOINVREMENT PRIMARY
uid INT index
email CHAR(128) UNIQUE
activated TINYINT
我會需要查詢這個表是這樣的:
SELECT * FROM users WHERE uid = ? AND activated = 1
我的問題是,因爲有一個在'uid'列中設置索引,爲了獲得上述查詢的最佳性能,是否還需要爲'激活'列設置另一個索引?這個表(將是一個大表)將被'INSERT','UPDATE'語句以及'SELECT'語句大量訪問。
正如我從其他來源得知,索引與'INSERT'和'UPDATE'語句相反,所以如果uid列上的索引足以滿足上面的查詢,我將不必爲另一個索引設置另一個索引激活'插入&更新的性能。
我相信這個問題更多的是關於如何打開一個索引,以獲得大量插入或更新的性能命中,而不是索引這兩個列會更好。 – catfarm 2009-10-29 00:51:18
你的意思是設置一個索引2列(UID,激活)或設置兩個指標之一的uid和一個用於激活? – Shawn 2009-10-29 00:51:53
@Shawn。是的,晚了,修好了,抱歉,謝謝! – gahooa 2009-10-29 14:38:17