Mysql中普通的索引、主键、唯一、全文索引的区别
2015-12-09 13:48
573 查看
Mysql索引用来快速的寻找哪些特定值的记录,所以Mysql索引都是以B-树的形式保存。如果没有索引,执行Mysql查询是必须从第一条扫描,直到找到符合条件的数据,数据越多,这个操作的代价就越大。如果搜索条件的列上创建了索引,Mysql无需扫描任何记录即可迅速得到记录所在的位置。
PRIMARY、UNIQUE、INDEX这三个是一类索引。
PRIMARY主键、唯一不能为空,指定主键索引的时候,这一列必须是主键。
例如:
UNIQYE唯一索引,不允许有重复。
INDEX普通的索引,没有唯一之类的限制。
FULLTEXT全文索引,用于一篇文章中,检索文本信息。
DEMO:
比如你在为某商场做一个会员卡的系统。
这个系统有一个会员表
有下列字段:
会员编号 INT
会员姓名 VARCHAR(10)
会员身份证号码 VARCHAR(18)
会员电话 VARCHAR(10)
会员住址 VARCHAR(50)
会员备注信息 TEXT
那么这个 会员编号,作为主键,使用 PRIMARY
会员姓名 如果要建索引的话,那么就是普通的 INDEX
会员身份证号码 如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)
会员备注信息 , 如果需要建索引的话,可以选择 FULLTEXT,全文搜索。
PRIMARY、UNIQUE、INDEX这三个是一类索引。
PRIMARY主键、唯一不能为空,指定主键索引的时候,这一列必须是主键。
例如:
UNIQYE唯一索引,不允许有重复。
INDEX普通的索引,没有唯一之类的限制。
FULLTEXT全文索引,用于一篇文章中,检索文本信息。
DEMO:
比如你在为某商场做一个会员卡的系统。
这个系统有一个会员表
有下列字段:
会员编号 INT
会员姓名 VARCHAR(10)
会员身份证号码 VARCHAR(18)
会员电话 VARCHAR(10)
会员住址 VARCHAR(50)
会员备注信息 TEXT
那么这个 会员编号,作为主键,使用 PRIMARY
会员姓名 如果要建索引的话,那么就是普通的 INDEX
会员身份证号码 如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)
会员备注信息 , 如果需要建索引的话,可以选择 FULLTEXT,全文搜索。
相关文章推荐
- 【MySQL】1093 You can't specify target table 'table name' for update in FROM clause
- 转载 mysql 视图
- mysql字符编码问题latin1到utf8
- MySQL中临时表的基本创建与使用教程
- Mac上安装mysql遇到的坑
- mysql myisam引擎压缩表
- MySQL中describe命令的使用方法小结
- Mysql登录失败错误(10061)解决办法
- MySQL触发器运用于迁移和同步数据的实例教程
- Mysql查询优化——连接的技巧(一)
- mysql的sql经典写法收录
- [MySQL FAQ]系列 — 如何查看当前最新事务ID
- mysql 构建大表及myisam 基础知识
- MySQL中触发器的基础学习教程
- MySQL锁定状态查看命令
- MySQL中exists和join的区别
- MySQL性能优化之swap占用高
- mysqlslap
- MySQL C API函数大全
- Srping Mybatis Mysql the last packet sent successfully