如何加快MySQL更新查询?

时间:2015-06-26 17:33:33

标签: mysql optimization

我最近在我的服务器上部署了一个新功能,其中API会将大型JSON字符串存储在数据库中。这在隔离工作正常,但在负载下它很快就会削弱我的服务器。我希望以任何方式加快速度。

这是我的表架构:

| id           | int(11)      |
| code         | varchar(255) |
| uuid         | varchar(255) |
| data         | longtext     |
| last_updated | datetime     |

以下是表格中的索引:

Indexes

最后,这是更新查询:

  

更新备份set data =:data,last_backup_date = NOW()其中uuid =:uuid limit 1

我无法想象查询本身就很慢,但我存储数据的方式可能是根本错误的。我在网上看到,将数据存储在文件系统中的文件更快,而且从表中解耦数据(例如,有backups_databackups表)也更快。什么是最好的方法?

1 个答案:

答案 0 :(得分:1)

请使用SHOW CREATE TABLE来展示架构。我看不出正在使用什么引擎。索引是什么样的?这对性能非常重要。 code如何独特,但基数较低?

相关行的data有多大?如果它是兆字节,则可能需要几秒或几分钟才能挖出那么多数据。

在缓慢更新的同时,该表还有其他任何事情吗? (这里引擎变得非常重要。)