Index
單股指數和復合股指數有哪些區別和優勢?
我
INDEX
在n:m
關係表上有兩個,如下圖所示:
現在我也可以擁有這個:
我的問題:
- 最後一種方式(圖片複合)比前兩種方式有什麼優勢?
- 可以
#
在復合指數中具有一定的權重或意義嗎?
以下是您可以使用哪個索引以及何時使用的一些說明:
首先,索引加快了檢索速度,但減慢了插入和刪除,以及索引列中值的更新。也就是說,索引會減慢大多數涉及寫入的操作。這是因為寫入記錄不僅需要寫入數據行,還需要更改任何索引。表的索引越多,需要進行的更改就越多,平均性能下降越大。在“高效載入數據”部分,我們將更詳細地介紹這種現像以及您可以採取的措施。
其次,一個索引佔用磁碟空間,多個索引相應佔用更多空間。這可能會導致您比沒有索引時更快地達到表大小限制。
例子:
mysql> ALTER TABLE customer ADD INDEX idx_sub (subscription) mysql> EXPLAIN SELECT name FROM customer WHERE subscription='2009-01-01' ORDER BY name *************************** 1. row *************************** ... type: ref key: idx_sub rows: 4370 Extra: Using where; Using filesort
理想的方式:
mysql> ALTER TABLE customer ADD INDEX idx_sub_name (subscription,name) mysql> EXPLAIN SELECT name FROM customer WHERE subscription='2009-01-01' ORDER BY name *************************** 1. row *************************** ... type: ref key: idx_sub_name rows: 4363 Extra: Using where; Using index
基準:
執行查詢的平均秒數:
- 無指數:3.743
- 認購指數:0.435
- 覆蓋指數:0.012
覆蓋指數:
- 訂閱時比索引快 35 倍
- 比全表掃描快 300 倍
有關的: