三大范式
第一范式
+字段不可分,每个字段是原子级别的
第二范式
+属性完全依赖于主键(属性都是该对象拥有的)
第三范式
+属性和主键不能间接相关(减少数据冗余,这样就可以通过主外键进行表之间连接)
索引
查找速度和存储速度是互斥的
主键索引:
不能重复,不能为空
唯一索引:
不能重复,但能为空
创建索引
alter table tb_student add unique aaa(name);
普通索引:
可以重复,可以为空
创建索引
alter table tb_student add index bbb(id);
联合索引:
满足最左优先原则才能使用索引
创建索引
alter table r_relation add index hhh(id,sid);
全文索引:
MySQL 5.6 以前的版本,只有 MyISAM 存储引擎支持全文索引;
MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引;
只有字段的数据类型为 char、varchar、text 及其系列才可以建全文索引
查询是否用索引
desc select * from r_relation where id = 1 and sid = 1\G;
最左原则
+实现过程是通过B-树过程实现的
+如果不满足最左原则,就会除夕拿索引的时候无法匹配到相应的 ‘路’
eg:索引为数字&字母两个或多个的时候,如果不满足最左原则,只有一个字母,则会出现数字无法匹配到相应的"路",从而没有就行索引过程