
MySQL
文章平均质量分 71
鹿与森呀
这个作者很懒,什么都没留下…
展开
-
第一范式、第二范式、第三范式、BCNF范式的区别
第一范式:数据库的每一列都是不可分割的基本数据项,强调列的原子性。即列不可以再拆分。第二范式:建立在第一范式的基础上,每一个非主属性要完全函数依赖于候选键(或者说是主键,任一个候选键都可以做主键)。即非主键列完全依赖于主键,而不能是依赖于主键的一部分,必须满足两个条件:1.必须有一个主键;2.没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。第三范式(3NF)建立在第二范式的基础上,任何非主属性不依赖于其它非主属性。即每一个非主属性都不传递依赖于该范式的候选键。即非主键列只依赖于主键原创 2020-03-22 22:56:50 · 11192 阅读 · 0 评论 -
MySQL复合索引(联合索引)原理分析及使用
MySQL索引分类 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据。在InnoDB中,只有主键索引是聚簇索引,如果没有主键,则挑选一个唯一键建立聚簇索引。如果没有唯一键,则隐式的生成一个键来建立聚簇索引。 非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行。在InnoDB中,在聚簇索引之上创建的索引称之为辅助索引,辅助索引访问数据总是需要二次查...原创 2020-03-15 16:31:38 · 6987 阅读 · 3 评论 -
MySQL数据库优化
SQL语句的优化步骤:开启MySQL慢查日志(slow_query_log)。分析MySQL慢查日志,通过使用一些MySQL慢查日志分析工具(mysqldumpslow、pt-query-digest)。优先查找出一些查询次数多且执行时间长的SQL语句。explain查询SQL语句的执行计划,针对执行计划进行优化。具体的SQL语句优化:索引优化:索引字段长度越小越好。因为数据库中数据存储单位是“页”,索引字段长度越小一次IO读取的索引会更多,越容易命中对应的值。(大意就是不要原创 2020-03-02 22:42:07 · 122 阅读 · 0 评论 -
MySQL索引为什么选择B+树而不是B树
B类树的特点,B类树保证尽量多的在结点上存储相关的信息,同时保证层数尽量的少,查找更快,磁盘的IO操作也少一些。 B+树的IO更少:B+树的非叶子节点没有指向关键字具体信息的指针,只用作索引,因此B+树的非叶子节点比B树占用更少磁盘空间。当数据量大时,一次不能把整个索引全部加载到内存,只能逐个加载每一个磁盘块,而关键字所占空间更小可以使得一次性读入内存的索引也就越多,IO次数也就越少。 ...原创 2020-03-13 21:17:45 · 722 阅读 · 2 评论