mysql - 显式索引和隐式索引之间的区别?

标签 mysql sql database indexing

我正在学习数据库,目前正在使用 mysql。在练习它时,我对索引有疑问,想知道隐式索引和显式索引之间到底有什么区别?哪个更好?考虑到我将在数据库上使用更多的更新、插入和删除命令,这更适合那个时候,为什么?

谢谢

最佳答案

术语“隐式索引”有时用于指代由create index 以外的操作创建的索引。这发生在两种特殊情况下:

  • 表中的主键定义
  • 独特的约束

而且,我不确定在 create table 中使用 key/index 关键字是隐式的还是显式的。

这些索引本身没有区别。主键索引和非主键索引之间存在差异——主键索引可能导致表按索引进行物理排序(参见 here )。

两者都不是更好。 “隐式”索引的优点是它们是表定义的一部分。 “显式”索引的优点是它们是显式创建的。除了定义之外,索引在查询中的使用应该是一样的。

关于mysql - 显式索引和隐式索引之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28213493/

相关文章:

php - 使用其他两列的过滤器减去一列中的值

database - node.js 存储数据的一些问题

sql - PostgreSQL 中的对象

php - Codeigniter 3 迁移 sql

mysql - MySQL 数据库中的行到列。

mysql - 索引有问题

SQL 排序规则和数据类型 : Support Both Western and Arabic data in a field

sql - 显式地将列默认为 NULL

mysql 调整时间戳性能?

c++ - qt bindvalue() 无法动态绑定(bind)值