数据库 索引
2019獨角獸企業重金招聘Python工程師標準>>>
一般的索引都是B_樹索引(INDEX),還有一種是位圖索引(BITMAP INDEX)。
創建索引的原則: 當任何單個查詢要檢索的行少于或等于整個表行數的10%時,索引就非常有用。
Oracle數據庫會自動為表的主鍵以及包含在唯一約束中的列自動創建B-樹索引。
B_樹 ?基礎為二叉查找樹結構,其查找的時間復雜度O(log2N) ,包括二叉查找樹,平衡二叉查找樹,紅黑樹,進階則是B-樹、B+樹、B*樹。
位圖索引創建原則:用在包含大量數據且內容不常修改的表中(數據倉庫)。而且只應該在包含少量不同值得列上創建。如果某列的不同值數量少于表中行數的1%,或者如果某列的值的重復次數多余100次,那么此列就是位圖索引的候選列。例如有一個表,它包含一百萬行,那么小于等于一萬個不同值的列就是很不錯的位圖索引候選列。對表行的更新應該極少,且列需要頻繁的用在查詢的WHERE子句中。
mysql索引SHOW INDEX FROM table_name;CREATE INDEX indexName ON mytable(username(length));ALTER mytable ADD INDEX [indexName] ON (username(length)) ;ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age); ALTER TABLE mytable ADD INDEX (c);ALTER TABLE mytable DROP INDEX c;DROP INDEX [indexName] ON mytable;?
轉載于:https://my.oschina.net/u/2490316/blog/1524764
總結
- 上一篇: [js高手之路]寄生组合式继承的优势
- 下一篇: HDU 4135 Co-prime 容斥