Mysql 索引
创建索引
// 语法
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON table_name (index_col_name,...)
// 实例
create unique index `username_unique` using btree on `users`(`username`);
create index `email_index` using btree on `users`(`email`);
create index `order_no_user_id_index` using btree on `order_detail`(`user_id`,`order_no`);
删除索引
ALTER TABLE table_name DROP INDEX index_name;
查看索引
show index from table_name;
这里简单介绍一下btree和hash索引的应用场景,hash索引底层数据结构是哈希表,单条数据查询时可以一次定位。而B-Tree索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问。
因此在绝大多数需求为单条记录时可以选择hash索引,查询性能最快,其余大部分场景建议使用btree索引。