刷网站的时候,我们经常会遇到需要分页查询的场景。我们很容易能联想到可以用mysql实现。假设我们的建表sql是这样的mysql建表sql建表sql大家也不用扣细节,只需要知道 id是主键,并且在user_name建了个非主键索引 就够了,其他都不重要。为了实现分页。很容易联想到下
作者|磊哥来源|Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)一、第一范式第一范式规定表中的每个列都应该是不可分割的最小单元。比如以下表中的address字段就不是不可分割的最小单元,如下图所示:其中address还可以拆分为国家和城市,如下图所示
数据库的索引分为主键索引(PrimaryInkex)与普通索引(SecondaryIndex)。InnoDB和MyISAM是怎么利用B+树来实现这两类索引,其又有什么差异呢?这是今天要聊的内容。一、MyISAM的索引MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClusteredInd
《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构:(1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读;(2)很低的树高度,能够存储大量数据;(3)索引本身占用的内存很小;(4)能够很好的支持单点查询,范围查询,有序性查询;数据库的索引分为主键索引(Prim