【问题标题】:high overhead in new mysql table新 mysql 表中的高开销
【发布时间】:2023-03-18 21:42:02
【问题描述】:

有谁知道为什么我在新创建的表(零行)上得到 131.0 MiB 的开销? 我正在使用 phpmy admin,我的脚本代码是

CREATE  TABLE IF NOT EXISTS `mydb`.`mytable` (
  `idRol` INT NOT NULL AUTO_INCREMENT ,
  `Rol` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`idRol`) )
ENGINE = InnoDB;

提前致谢。

【问题讨论】:

  • 感谢大家的快速响应,但我应该担心这种情况下的高开销吗?我看到在我创建的所有表格中都发生了相同的情况,谢谢

标签: mysql overhead


【解决方案1】:

InnoDB 使用共享表空间。这意味着默认情况下,无论数据库如何,所有表都存储在文件系统中的单个文件中。这与将每个表存储为单个文件的 MyISAM 不同。

可以更改 InnoDB 的行为,尽管我认为在这种情况下没有必要。见Using Per-Table Tablespaces

开销可能是被删除的行留下的空间,当你插入新数据时,InnoDB 会重用它。没什么好担心的。

【讨论】:

  • 感谢大家的快速响应,但我应该担心这种情况下的高开销吗?我看到在我创建的所有表格中都发生了相同的情况,谢谢
【解决方案2】:

这可能是因为 mysql 在 'idRol' 上生成了一个索引

存储索引需要一些空间,但我不确定这是否是原因。这只是一个猜测。我不是 DBA。

【讨论】:

  • 他说表格有0行。
猜你喜欢
  • 1970-01-01
  • 2010-12-13
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-02
  • 2016-02-15
  • 1970-01-01
  • 2014-04-22
相关资源
最近更新 更多