我有一張3列的表格。該表包含許多原始數據(百萬)。當我從表中選擇行我經常使用以下where
條款:MySQL中的索引是否互相干擾?
where column2=value1 and column3=value2
where column1=value
要加快select
查詢我想聲明列1列2和作爲指標。如果將第二列聲明爲索引,我的問題是不會降低聲明第一列作爲索引的積極影響。
我也想問,如果聲明第二列作爲索引將加快這種類型的查詢:where column2=value1 and column3=value2
。
ADDED 的column1
,column2
,和column3
是entity
,attribute
,value
。這是非常普遍的。作爲實體我使用人,電影,城市,國家等。屬性是類似於「位於」,「出生日期」,「由...生成」等。
如果您告訴我們關於您的餐桌的更多信息,這將有所幫助。 'column1','column2','column3'讓我們不得不猜測約束是什麼。 – Theo 2010-11-14 10:24:44
@Theo,我已通過添加所需信息更新了我的問題。 – Roman 2010-11-14 10:30:03
在我看來,你可能在'entity,attribute'組合中有一個主鍵,但是如果實體/屬性組合沒有多個值。沒有主鍵是可以的,但有時即使跨越所有列也是有用的,因爲它防止插入重複的行。 – Theo 2010-11-14 11:09:04