MySQL
春日部小学森
心有猛虎,细嗅蔷薇
展开
-
聚簇索引和非聚簇索引的区别
在 MySQL 中,B+ 树的实现主要是通过 InnoDB 存储引擎来实现的。InnoDB 存储引擎中的索引主要有聚簇索引和非聚簇索引两种类型,聚簇索引是根据主键创建的索引,⽽非聚簇索引是根据⾮主键列创建的索引。对于非聚簇索引,MySQL 中会同时创建⼀个对应的聚簇索引,这样可以提⾼查询效率。聚簇索引是物理索引,因此数据表在物理上是连续存储的,且顺序按照聚簇索引顺序存储,比如在一个表中,id是主键且为聚簇索引,因此表中所有的记录行是按照id自增顺序存储,因此一个表只能有一个聚簇索引。原创 2023-12-30 08:30:00 · 969 阅读 · 0 评论 -
主键、唯一键、外键
可以添加组合键(复合主键),但扩展性不行,一张表里可以有多个组合键,但是可能在非特殊的情况下实际的意义不大,添加复合主键要先把原主键删除。2.不能更改主表中的值而导致子表中的记录孤立(学生信息表中的id变化了,学生成绩表中的id也要随着发生改变)1.当主表中没有对应的记录时,不能将记录添加到子表(学生成绩表中不能出现学生信息表中没有的学号)3.子表存在与主表对应的记录,不能从主表中删除该行(不能把部门表中的数据删除)主键用来区分数据,联系各个表,不能为空且在表中数据是唯一的。4.删除主表前,先删子表。原创 2023-12-28 08:00:00 · 914 阅读 · 0 评论 -
Select语句完整的执行顺序
SQL Select语句完整的执行顺序:原创 2023-12-27 21:16:05 · 433 阅读 · 0 评论 -
MySQL支持的存储引擎以及区别
存储引擎:Mysql用各种不同的存储技术,将数据存储到文件或内存中。数据库存储引擎是数据库的底层的软件组件,数据库可以使用数据存储引擎进行创建,查询,更新和删除数据的操作。不同的存储引擎会提供不同的存储机制,索引技巧,锁定水平等功能,现在许多的数据库管理系统都支持多种的不同的存储引擎。原创 2023-12-23 07:30:00 · 637 阅读 · 0 评论 -
MySQL事务
不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。 解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表原创 2023-12-22 10:23:25 · 731 阅读 · 0 评论 -
数据库的三大范式
在上表中contact应该分为phone和adress两列。原创 2023-12-16 14:57:24 · 571 阅读 · 0 评论 -
varchar和char的区别
char是定长字符串,最多能存放255个字符,与编码无关,如果插入数据的长度小于固定长度,则用空格填充,存取速度比varchar快,是空间换时间的做法。:varchar是可变长字符串,长度可变,插入的数据是多长就按多长来存储,最多能存放字符数为65532,存取慢,是时间换空间的做法。原创 2023-12-15 15:54:10 · 455 阅读 · 0 评论