博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
InnoDB主键设计
阅读量:5865 次
发布时间:2019-06-19

本文共 445 字,大约阅读时间需要 1 分钟。

InnoDB是clustered-index table,因此对于InnoDB而言,主键具有特殊意义。

可以通过主键直接定位到对应的某一数据行记录的物理位置,主键索引指向对应行记录,其他索引则都指向主键索引;

因此,可以这么说,InnoDB其实就是一个 B-树索引,这棵B-树的索引就是主键,它的值则是对应的行记录

在InnoDB数据表设计中,我们需要注意几点:

    • 1. 显式的定义一个 INT 类型自增字段的主键,这个字段可以仅用于做主键,不做其他用途
    • 2. 如果不显式定义主键的话,可能会导致InnoDB每次都需要对新数据行进行排序,严重损害性能
    • 3. 尽量保证不对主键字段进行更新修改,防止主键字段发生变化,引发数据存储碎片,降低IO性能
    • 4. 如果需要对主键字段进行更新,请将该字段转变成一个唯一索引约束字段,另外创建一个没有其他业务意义的自增字段做主键
    • 5. 主键字段类型尽可能小,能用SMALLINT就不用INT,能用INT就不用BIGINT
    • 6. 主键字段放在数据表的第一顺序

转载地址:http://ctynx.baihongyu.com/

你可能感兴趣的文章
Python 中的字典操作
查看>>
快速修改MySQL某张表的表结构
查看>>
Vaadin组件笔记——Label
查看>>
vi 界面复制粘贴操作
查看>>
Cobbler详解
查看>>
mysql安装
查看>>
Zabbix LLD监控之创建发现的Python脚本
查看>>
ftp快速搭建部署
查看>>
jenkins 2.73.3 安装 、 配置git 、maven
查看>>
两数组最短距离-------2012年12月26日
查看>>
经典重在品质 三星入门级一体机经典之作全剖析
查看>>
手把手教你设置foxmail客户端支持收发outlook.com邮箱里的邮件
查看>>
oracle 手工删库
查看>>
玩家的福音:任天堂新一代游戏机采用Android系统
查看>>
SQL 基础之列别名和连接符(二)
查看>>
部署Discuz X3.2 支持memcached缓存
查看>>
Golang之interface
查看>>
探索Glide对Gif图片资源的获取、解析过程
查看>>
Linux下挂载移动硬盘
查看>>
zabbix-磁盘读写速度
查看>>