Mat*_*ias 8 mysql performance multithreading group-by
我有安装了最新MySQL 5.7的高端48 CPU核心服务器
我有点惊讶的是,在使用GROUP BY执行查询时,无论我如何格式化我的查询,我只得到1个CPU核心用于该查询,htop输出清楚地说明
当然我可以同时执行多个查询,这就是我可以使用所有内核的方式,但它似乎不太方便,并不是每个查询都可以分割为使用完整服务器的功能
是否有任何MySQL扩展或SQL提示允许在使用GROUP BY处理数据时使用多个内核?
正如RolandoMySQLDBA接受的答案可能使MySQL使用多个核心?问题说:
我实际上在2011年5月的Percona Live NYC会议上与MySQL专家讨论了innodb_thread_concurrency.
我学到了一些令人惊讶的东西:尽管有文档,但最好将innodb_thread_concurrency保留为0(无限并发).这样,InnoDB决定为给定的MySQL实例设置打开的最佳innodb_concurrecy_tickets数量.
将innodb_thread_concurrency设置为0后,您可以将innodb_read_io_threads和innodb_write_io_threads(自MySQL 5.1.38以来)设置为最大值64.这应该可以吸引更多内核.
这是我曾经发现的关于如何让MySQL 一般使用更多内核的最佳指导.