Mysql——index(索引)使用
索引作用
在索引列上可以有序查詢之外,資料庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。而在多表連線查詢時,在執行連線時加快了與其他表中的行匹配的速度。索引可以避免排序,比如對order by 的欄位建立索引,因為索引使用的是BTree(資料作為葉子節點在樹的最底層已經排好序,這樣方便了sql的between查詢),本來就是排好序列的,所以可以避免排序達到優化查詢的效果。
新增索引
ALTER TABLE用來建立普通索引、UNIQUE索引或PRIMARY KEY索引。
ALTER TABLE table_name ADD INDEX index_name (column_list)
ALTER TABLE table_name ADD UNIQUE index_name (column_list)
ALTER TABLE table_name ADD PRIMARY KEY (column_list)
建立聯合索引,各列之間用逗號分隔,聯合索引(a,b,c)相當於(a),(a,b),(a,c)
刪除索引
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
如果從表中刪除了某列,則索引會受到影響。對於多列組合的索引,如果刪除其中的某列,則該列也會從索引中刪除。如果刪除組成索引的所有列,則整個索引將被刪除。
檢視索引
show index from table_name;
Non_unique
: 如果索引不能包括重複詞,則為0。如果可以,則為1。
Seq_in_index
: 索引中的列序列號,從1開始。比如在組合索引中的位置
Collation
:列以什麼方式儲存在索引中。在MySQL中,有值‘A’(升序)或NULL(無分類)。
Cardinality
:索引中唯一值的數目的估計值。通過執行ANALYZE TABLE或myisamchk -a可以更新。基數根據被儲存為整數的統計資料來計數,所以即使對於小型表,該值也沒有必要是精確的。基數越大,當進行聯合時,MySQL使用該索引的機會就越大。
Sub_part
:如果列只是被部分地編入索引,則為被編入索引的字元的數目。如果整列被編入索引,則為NULL。
Packed
:指示關鍵字如何被壓縮。如果沒有被壓縮,則為NULL。
Null
:如果列含有NULL,則含有YES。如果沒有,則該列含有NO。
Index_type
:用過的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
[參考資料]
相關文章
- mysql 索引( mysql index )MySql索引Index
- MySQL 索引覆蓋(Covering Index)MySql索引Index
- 使用Index提示 強制使用索引Index索引
- MySQL中為什麼要使用索引合併(Index Merge)?MySql索引Index
- index索引Index索引
- MySQL index hints 使用MySqlIndex
- MySQL 8.0新特性-倒敘索引 desc indexMySql索引Index
- mysql下建立索引讓其index全掃描MySql索引Index
- MySQL SQL優化 - 覆蓋索引(covering index)MySql優化索引Index
- Mysql索引使用MySql索引
- 【INDEX】使用“alter index ××× monitoring usage;”語句監控索引使用與否Index索引
- 分割槽索引之本地(local index)索引和全域性索引(global index)索引Index
- MySQL SQL最佳化 - 覆蓋索引(covering index)MySql索引Index
- MySQL 優化之 index_merge (索引合併)MySql優化Index索引
- Elasticsearch之索引模板index template與索引別名index aliasElasticsearch索引Index
- 【HINT】使用“NO_INDEX ”Hint提示避免SQL使用特定索引IndexSQL索引
- MySql索引使用策略MySql索引
- oracle index索引原理OracleIndex索引
- 索引反向使用案例,加index_desc hint索引Index
- 使用index_stats檢視檢視索引效率Index索引
- 點陣圖索引(Bitmap Index)——索引共用索引Index
- mysql oder by 使用index一例MySqlIndex
- MySql如何使用索引(二)MySql索引
- MySql如何使用索引(一)MySql索引
- mysql索引使用基礎MySql索引
- MySQL 禁止使用 HASH 索引MySql索引
- 【INDEX】Postgresql索引介紹IndexSQL索引
- pandas(3):索引Index/MultiIndex索引Index
- 隨筆:MySQL:eq_range_index_dive_limit 索引下探介面MySqlIndexMIT索引
- 唯一性索引(Unique Index)與普通索引(Normal Index)差異(上)索引IndexORM
- 唯一性索引(Unique Index)與普通索引(Normal Index)差異(中)索引IndexORM
- 唯一性索引(Unique Index)與普通索引(Normal Index)差異(下)索引IndexORM
- Mysql索引以及使用索引注意事項MySql索引
- <MYSQL Index>MySqlIndex
- create index , rebuild index troubleshooting 索引故障解決IndexRebuild索引
- MySQL全文索引的使用MySql索引
- MySQL的索引原理及使用MySql索引
- 分析index降低索引層次Index索引