mysql索引型別:
索引是一種資料結構,可以是btree,rtree,或者hash結構.
btree適合用於查詢某範圍內的資料,可以很快的從當前資料找到下條資料.
rtree常用於查詢比較接近的資料.
hash結構則適用於隨機訪問的場合,查詢每條資料的時間幾乎相同.
顯然,若要查詢某個時間段的資料,用btree結構要比hash結構快得多.
另外還有fulltext(全文)和spatial(空間)這兩個索引型別.
檢視某個表中存在的索引型別:
use punbb;
select index_name, index_type
from information_schema.statistics
where table_name='pb_posts';
index_name index_type
primary btree
pb_posts_topic_id_idx btree
pb_posts_multi_idx btree
pb_posts_multi_idx btree
pb_posts_posted_idx btree
注:pb_posts是innodb型別表,預設索引為btree.
select index_name, index_type
from information_schema.statistics
where table_name='pb_online'
index_name index_type
pb_online_user_id_ident_idx hash
pb_online_user_id_ident_idx hash
pb_online_ident_idx hash
pb_online_logged_idx hash
注:pb_online是memory型別表,預設索引為hash.
innodb和myisam支援btree和fulltext索引 ,memory支援hash和btree索引.
create table lookup (id int) engine = memory;
create index id_index on lookup (id) using btree;
MySQL 中的索引有幾種
一 普通索引 最基本的索引,只是加快了查詢速度。二 唯一索引 與普通索引類似,不同的是 索引的列值必須唯一,但允許有空值,也就是 null,如果是組合索引,則列值的組合必須是唯一的。三 主鍵索引 即我們常用的主鍵 id,它是一種特殊的唯一索引,不允許有空值,一般在建表時同時建立主鍵索引。特點 1 一...
mysql幾種索引 mysql的幾種索引
為什麼建立索引後,速度就會變快?答 使用索引後,查詢是按二叉樹演算法來查詢到記錄 索引使用的注意事項 索引的代價 1.占用磁碟空間 2.對dml 新增 修改 刪除 操作有影響,變慢 在哪些列上適合新增索引 1.較頻繁的作為查詢條件字段應該建立索引 select from emp where empn...
MySQL的索引有哪幾種?
mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,...