【问题标题】:What MySQL my.ini parameters should I change for a large table join and update?对于大型表连接和更新,我应该更改哪些 MySQL my.ini 参数?
【发布时间】:2011-11-25 17:06:58
【问题描述】:

我有以下几点:

  • TableA - 20M 行
  • 表 B - 50 万行

许多查询,尤其是以下查询,需要很长时间。

UPDATE
    TableA AS A
INNER JOIN
    TableB AS B
    ON   B.Value IS NOT NULL AND A.Key=B.Key    
SET
    A.Value = B.Value
WHERE
    A.Value IS NULL;

我知道我的 MySQL (MyISAM) 没有为大型表配置,我确信它可以使用更多的可用内存(总共 4GB)或 CPU (i7)。我应该查看 my.ini 中的哪些参数?

我从 key_buffer_size = 1536M 开始,因为 tableA 的索引为 1gb。

【问题讨论】:

    标签: mysql performance innodb large-data


    【解决方案1】:

    对于innodb

    • innodb_buffer_pool_size 设置为您希望 mysql 可用的内存的大约 80%
    • innodb_log_file_size * innodb_log_files_in_group 应该足够大,以便每秒将更改写入磁盘不超过一次

    不过还是使用配置向导更方便https://tools.percona.com/wizard

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 2012-01-10
      • 2023-01-31
      • 2013-08-08
      • 1970-01-01
      相关资源
      最近更新 更多