我有一个 8GB 的大数据库,其中有 900 万个联系人。当我们尝试检索所有联系人时,执行单个查询需要将近 1 或 2 个小时(在某些情况下会导致超时)。此外,我有 8 个 CPU 和 24GB RAM,Xeon 处理器,mysql 进程不会分布在 8 个 CPU 上。我的问题是,我们是否可以为单个查询启用多线程。
等待您的回复
答案1
Mysql 不支持单个查询的多线程。
就在几天前,mysqlperformanceblog 上有一篇很好的文章,解释了执行并行查询的优势。http://www.mysqlperformanceblog.com/2014/01/07/increasing-slow-query-performance-with-parallel-query-execution/
如果您只是通过简单查询检索联系人,那么 IO 也可能是瓶颈。
答案2
我不知道您的联系人代表了多少量,或者您使用了什么查询,但对于这种信息来说, 1 或 2 个小时似乎有点太多了。
或者 I/O 是瓶颈,或者您的查询需要调整。