我最近在我的服务器上部署了一个新功能,其中API会将大型JSON字符串存储在数据库中。这在隔离工作正常,但在负载下它很快就会削弱我的服务器。我希望以任何方式加快速度。
这是我的表架构:
| id | int(11) |
| code | varchar(255) |
| uuid | varchar(255) |
| data | longtext |
| last_updated | datetime |
以下是表格中的索引:
最后,这是更新查询:
更新备份set data =:data,last_backup_date = NOW()其中uuid =:uuid limit 1
我无法想象查询本身就很慢,但我存储数据的方式可能是根本错误的。我在网上看到,将数据存储在文件系统中的文件更快,而且从表中解耦数据(例如,有backups_data
和backups
表)也更快。什么是最好的方法?
答案 0 :(得分:1)
请使用SHOW CREATE TABLE
来展示架构。我看不出正在使用什么引擎。索引是什么样的?这对性能非常重要。 code
如何独特,但基数较低?
相关行的data
有多大?如果它是兆字节,则可能需要几秒或几分钟才能挖出那么多数据。
在缓慢更新的同时,该表还有其他任何事情吗? (这里引擎变得非常重要。)