影响表创建持续时间的Mysql参数

时间:2012-02-21 18:23:34

标签: mysql create-table mysql-parameter

我正在从mysql终端运行查询:

CREATE TABLE test(ID int, col1 id, col2 ID, PRIMARY KEY (ID) ENGINE = InnoDB;

使用SHOW PROFILE命令得到平均值:

创建表持续时间= 0.008000,等于大约8ms。

有什么建议在mysql配置中查看哪些参数来改善表创建时间? 换句话说,哪些参数可以影响表创建时间。

我使用的是Intel Xeon 3.80GHz和4Gb内存。

4 个答案:

答案 0 :(得分:1)

以下是一些可能会影响CREATE TABLE - 性能的变量:

  • 硬件i / o
  • 文件系统
  • mysql版本
  • RAM
  • 数据库引擎类型(innodb / myisam / ...)
  • 表格设计(键,字段,......)
  • 与数据库的连接
  • 一些其他数据库服务器配置

总而言之,我会说8毫秒还可以,但那是在不知道更多细节的情况下说的。

答案 1 :(得分:0)

据我所知,软件方面没有太多可以专门配置表创建。硬件可能有所帮助,如果可以的话,首先添加更多RAM。但是,之前的Stack问题可能会提供一些帮助。

答案 2 :(得分:0)

大多数参数取决于您使用的数据库引擎。假设其InnoDB(默认值),请查看innodb_buffer_pool_sizeinnodb_additional_mem_pool_size

话虽如此,我怀疑你能在8毫秒内看到那么多改进。

答案 3 :(得分:0)

如果你的问题是表创建需要8毫秒,那么你的数据库设计很可能出现问题(如果你想每秒创建一千个表就会出现这种情况)。

如果您只是临时使用它们,请使用存储在内存中的表:

CREATE TABLE test(ID int, col1 id, col2 ID, 
PRIMARY KEY (ID))
ENGINE=MEMORY;

创建速度会更快,但是如果服务器崩溃,那么这些表中的数据就会丢失。