【问题标题】:Should I setup index on a table having 15k -30k row?我应该在有 15k -30k 行的表上设置索引吗?
【发布时间】:2025-12-06 16:45:01
【问题描述】:

我有一张 15-30k 大小的桌子,最终不会更多。

我在该表中只有两列,一列是 id,另一列是 status

  • 我们将插入对 c 的查询
  • 我们将有更新查询,但不在 id 上
  • 我们将有删除查询

我的问题是我应该在 id 列上创建索引吗?

索引对有 15k-30k 行的表有用吗?还是可以忽略不计?

我还担心插入查询的成本增加吗?在 id 上添加索引是否值得?考虑到小桌子尺寸会更快还是效果可以忽略不计? 如果效果可以忽略不计,我不应该给它添加索引,因为它会增加插入查询的成本吗?

【问题讨论】:

  • 为确保我们能够回答您的问题,请提供SHOW CREATE TABLE 以及更新和删除示例。

标签: mysql database indexing


【解决方案1】:

如果您的id 列是PRIMARY KEY,那么它已经是一个索引,无需创建新的。
如果没有定义主键,最好习惯于为每个表创建一个。

没有任何索引,MySQL 必须从第一行开始,遍历整个表来查找相关行。
索引可以更快地查找数据,即使在数据很少的表上也是如此。

MySQL 8.0 参考手册:
https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html

【讨论】:

    最近更新 更多