标签:orm 效率 varchar _id width har 空间 工具 class
不使用索引,要操作某些行时,需要遍历遍历整张表来找到匹配的行,很花时间,且有点耗资源。
书:目录=>快速定位到指定章节,不用一页一页地找
数据库:索引=>快速定位到指定记录,不用遍历数据表去找,索引相当于数据表的目录
create index index_student on tb_student(id,name); #创建索引,指定索引名称,要使用哪张表的哪些字段来创建索引
drop index index_student on tb_student; #删除索引
show index from tb_student; #查看某个表上所有的索引
其实不管是索引,还是视图,都很少用命令行来操作,太麻烦,一般都是在数据库管理工具(比如Navicat)中直接操作。
索引是在 表结构|表定义|设计表 中操作的。
索引方式有2种:
(1)btree 使用b+树的方式建立索引
比如选择id列来创建索引,假设有7条记录,id 1~7
查找id=7的记录的地址:4 -> 6 -> 7
一般都是使用btree,因为很多存储引擎都支持btree。InnoDB只支持btree,不支持hash。
(2)hash 通过hash值一次直接找到记录的地址
比如使用id列建立索引,查找id=7的记录,根据7的hash值直接定位到对应记录的地址。
btree要一级级的找,要通过多个节点;hash一次就找到,查询效率远高于btree。
但hash用得较少,因为只有memory存储引擎支持hash。
标签:orm 效率 varchar _id width har 空间 工具 class
原文地址:https://www.cnblogs.com/chy18883701161/p/12458550.html