gpt4 book ai didi

MySQL 表锁

转载 作者:行者123 更新时间:2023-11-29 03:42:12 25 4
gpt4 key购买 nike

当我注意到他们有奇怪的设计时,我被要求在 MySQL DB 上做一些 PHP 脚本来显示一些数据。他们想要执行一项研究,该研究需要为每个用户收集多达 2000 条记录,并且他们会自动为每个注册用户创建一个新表。这是现阶段的试点研究,因此他们有大约 30 个表,但他们应该有 3000 个用户进行真正的研究。

我想建议将所有这些都收集到一个表中,但由于在研究期间可能每分钟对该数据库执行大约 1500 次 INSERT,所以我想先在这里问这个问题。这会导致 MySQL 中的表锁定吗?那么,它是每分钟 1500 个 INSERT 且最大大小为 6,000,000 条记录的一张表,还是每分钟 30 个 INSERT 且最大大小为 2000 条记录的 3000 个表。我想建议第一个选项,但我想确保它不会引起任何问题。我读到 InnoDB 有行级锁。那么,与单表选项相结合会有更好的性能吗?

最佳答案

这是一个负载很大的问题。根据我的经验,性能并不能真正准确地仅通过表大小来衡量。归结为设计。你有主键和索引吗?它是否被过度索引?话虽这么说,我还发现几乎总是一次到数据库的旅行比几十次要快。单表(列)有多大?您要保存什么样的数据(大于 4000K?)。您可能需要创建一些原型(prototype)来查看最适合您的产品。我最多可以推荐的是,您仔细判断要收集的数据的大小并相应地进行分配,创建索引(但不要太多,不要过度索引),然后进行测试。

关于MySQL 表锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com