【⾯试题话术】mysql为什么建议innodb表要建⼀个主键?并且推荐使⽤
整形⾃增主键?
create table什么意思中文掌握专业技能很重要,如何合理清晰的回答⾯试官的问题也很重要,这⾥只记录⾯试的话术,不对知识做扩展讲解,可以直接答给⾯试官。
mysql 为什么建议 innodb 表要建⼀个主键?
在 mysql 的数据存储中 idb ⽂件中,要使⽤⼀颗聚簇索引来维护⼀个 b+ 树保存数据,那么 mysql 在组织索引的时候,会依赖唯⼀id,有下列⼏种情况:
1. 如果有⼀个主键,可以直接使⽤主键建索引
2. 如果没有主键,会从第⼀列开始选择⼀列所有值都不相同的,作为索引列
jsp网上购物系统源码3. 如果没有选到唯⼀值的索引列,mysql 会帮忙建⽴⼀个隐藏列,维护⼀个唯⼀id,以此来组织索引mysql面试题sql
那么为了避免 mysql 选择索引列和建⽴隐藏列的性能损耗,建议⼿动建⽴⼀个主键。
为什么推荐使⽤整形作为主键
js重新加载页面1. 使⽤整形作为主键相⽐字符型可以节省数据页的空间。
制作表格模板图片2. 构建索引 b+ 树时,为了保证索引的有序性,使⽤整形可以避免页分裂。
3. 在索引中查数据时,减少⽐较的性能。
主键为什么要⾃增
因为索引结构 b+ 树,具有有序的特性,如果主键不是⾃增的,在进⾏增删数据的时候,会判断数据应该存放的位置,进⾏插⼊和删除,为了保持平衡,会对数据页进⾏分裂等操作移动数据,严重影响性能,所以主键需要是⾃增的,插⼊时,插⼊在索引数据页最后。能解答c语言的软件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论