如何在数据库中使用索引
作者:网络转载 发布时间:[ 2012/11/26 10:13:04 ] 推荐标签:
多数数据库,使用 B 树(Balance Tree)的结构来保存索引。
B 树,
上层节点:根节点
下层节点:叶子节点
两者之间的节点:中间节点
B 树,显著特征:从根节点,到各个叶子节点的距离都是相等的。如此,检索任何值时,都经过相同数目的节点。
CREATE INDEX idx_lname_pinyin ON employee(lname_pinyin);
SHOW INDEX FROM employeeG
DROP INDEX idx_lname_pinyin ON employee;
伴随主键的定义而创建的特别索引,被称为:丛生索引(Clustered Index)
一个表,只有一个丛生索引。
普通的索引,在叶子节点中保存的是指向实际表的指针。
而,丛生索引,在叶子节点中保存的是实际数据。
丛生索引,
不需要为保存索引,而使用专用的硬盘空间,节约资源
不需要检查索引后,再访问实际的表,提高了效率
创建丛生索引时,需要对表中数据进行排序,因此,在执行数据插入、更新、删除等操作时,比普通索引慢。
复合索引
CREATE INDEX idx_pinyin ON employee( lname_pinyin, fname_pinyin);
SHOW INDEX FROM employeeG
性索引
使用 UNIQUE 关键字,来创建不可重复的索引,称为:性索引。
对特定列创建性索引,相当于对该列追加了性制约。
创建性索引的时候,如果对象列中,已经含有重复数据,则:创建失败,报错。
创建成功后,如果,插入重复数据,则:插入失败,报错。
指定多个列,来创建性索引,只要,这些列的组合数据不重复,可以创建成功。
CREATE UNIQUE INDEX idx_fname ON employee(fname);
CREATE UNIQUE INDEX idx_lname ON employee(lname);
CREATE UNIQUE INDEX idx_fullname ON employee(lname, fname);
EXPLAIN SELECT * FROM employee WHERE lname_pinyin='wang'G
CREATE INDEX idx_lname_pinyin ON employee(lname_pinyin);
EXPLAIN SELECT * FROM employee WHERE lname_pinyin='wang'G
EXPLAIN 命令的说明:P100 表格
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11