【问题标题】:Improve MySQL Performance提高 MySQL 性能
【发布时间】:2016-10-07 19:41:16
【问题描述】:

信息: MySQL 社区 5.7.12 64 位

编程语言: Python 3.5

mysqld.cnf: Mysqld.cnf

“显示变量”的结果 show variables

说明: - 我有 200 000 个任务。 - 我用 500 个线程处理这些任务,每个任务一个,当一个线程完成时,另一个任务开始。这样做的目的是运行的线程不要超过 500 个。 - 我正在为每个线程创建一个连接。 (pymysql) - 这个线程中的每个线程都会在查询“插入忽略”的情况下对表进行大约 350 次插入。 - 这是在一个有 12 列的表中的非常基本的插入。

我有一个具有以下规格的服务器: 所以:Ubuntu 16.04 LTS 内存:32 GB 处理器:6 核 2.66 GHz 处理器数量:2 硬盘:10K RPM SAS 2.5" 虚拟内核:24 个内核。

我遇到的问题是在数据库中进行插入需要花费大量时间,每个线程平均需要 1000 秒。

我该如何改进呢?带着这个问题,我把mysqld.cnf的链接和show variables y csv格式的结果放了。

请给点建议?

谢谢!

【问题讨论】:

  • 你最好提供代码片段
  • 你可以用多插入语法做小批量而不是 350 个单独的插入吗?
  • Jared Beekman,我可以试试。今晚我将对其进行测试并赞扬结果。

标签: mysql linux multithreading python-3.x pymysql


【解决方案1】:

感谢 Jared Beekman 的评论,我能够对此进行优化。 我将所有查询放在一起,结果是处理速度快了 100 倍。

【讨论】:

    猜你喜欢
    • 2012-04-11
    • 2018-07-11
    • 2018-09-06
    • 2011-12-03
    • 2023-04-08
    • 1970-01-01
    • 2015-02-26
    • 2016-08-25
    相关资源
    最近更新 更多