mysql - 在 AUTO_INCREMENT 列上设置 INDEX 有用吗?

标签 mysql indexing mariadb binary-search

AUTO_INCREMENT PRIMARY KEY 已经按数字顺序排列,因此至少在我对数据库的基本理解中,查询将实现 binary search。从一开始,那么在这样的列上设置索引有什么用呢?我理解整数以半随机顺序排列时的用途,但我没有在 AUTO_INCREMENT 列上看到这一点。

最佳答案

无需为 PRIMARY KEY 创建另一个索引。

在InnoDB中,PRIMARY KEY也被称为聚集索引。这意味着整个表本身存储为 B 树,按为表的主键定义的列排序。

这实际上与 AUTO_INCREMENT 列存储递增数字这一事实无关。即使您不使用 AUTO_INCREMENT,并且以随机顺序插入行,它们也会按升序插入聚集索引。

关于mysql - 在 AUTO_INCREMENT 列上设置 INDEX 有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860409/

相关文章:

php - 插入多值,MYSQL 数据库结构

mysql - 使用来自 Google App Engine 和 Django 的外部 MySQL 数据库

java - 字符串索引越界异常

mariadb - 在 Centos 6.5 X86_64 上安装 MariaDB

mysql - 如何在 MySQL 中向上移动列的值?

php - mySQL WHERE IN 与数组

mysql - 更新mysql中的日期格式

约会门户的Mysql表和索引设计

sql - 批量插入表时优化索引更新速度

mysql - 将模式字符串拆分为选择查询中的列