数据库中有多少行是 TOO MANY?

2021-11-20 00:00:00 performance sql database mysql

我有一个包含 1,000,000 条记录的 MySQL InnoDB 表.这太多了吗?或者数据库可以处理这个以及更多?我问是因为我注意到某些查询(例如,从表中获取最后一行)在具有 1 百万行的表中比在具有 100 行的表中慢(秒).

I've a MySQL InnoDB table with 1,000,000 records. Is this too much? Or databases can handle this and more? I ask because I noticed that some queries (for example, getting the last row from a table) are slower (seconds) in the table with 1 millon rows than in one with 100.

推荐答案

我有一个包含 1000000 个寄存器的 MySQL InnoDB 表.这太多了吗?

I've a MySQL InnoDB table with 1000000 registers. Is this too much?

不,1,000,000 行(也称为记录)对于数据库来说不算太多.

No, 1,000,000 rows (AKA records) is not too much for a database.

我之所以这么问是因为我注意到有些查询(例如,获取表的最后一个寄存器)在具有 100 万个寄存器的表中比在具有 100 个寄存器的表中慢(秒).

I ask because I noticed that some queries (for example, getting the last register of a table) are slower (seconds) in the table with 1 million registers than in one with 100.

该声明中有很多内容需要说明.通常的嫌疑人是:

There's a lot to account for in that statement. The usual suspects are:

  1. 写得不好的查询
  2. 不使用主键,假设表中存在主键
  3. 设计不佳的数据模型(表结构)
  4. 缺乏索引

相关文章