gpt4 book ai didi

mysql - 同一服务器上两个相同的数据库具有不同的运行时间

转载 作者:行者123 更新时间:2023-11-29 13:09:22 24 4
gpt4 key购买 nike

我有两个相同的数据库,只是其中一个数据库有大约 500.000 个条目(分布在多个表中),而另一个数据库为空。

如果我在空数据库中运行程序,则执行大约需要 10 分钟,而在具有 500k 条目的数据库中,执行大约需要 40 分钟。我现在删除了一些条目(大约 250k 条目),它使执行速度加快了大约 10 分钟。奇怪的是,这些表没有被大量查询(只是一些非常简单的插入),所以我想知道这如何对执行产生如此大的影响。

此外,我执行的所有 SQL 语句(我运行了很多)都非常简单(没有复杂的连接,主要是插入),所以我想知道为什么一些具有 250k 条目的表会对性能产生如此大的影响。有什么想法可能是什么原因吗?

最佳答案

以下原因可能是原因,但出于实际原因,您应该查看并分析您的查询,

  1. 虽然您认为您正在进行简单的插入,但从数据库角度来看,这并不是一个简单的操作。 (对于您插入的每个条目,以下内容可能会更改和更新

    1. 索引
    2. 限制
    3. 数据库的完整性(PK-FK),有很多事情需要考虑。上述事情看起来很简单,但如果数量很大,则需要时间
  2. 检查查询量(如果执行的插入查询数量较多,则可能知道插入是独占操作,即它锁定表以进行更新,并且查询量较高,这意味着更多的锁定时间和等待时间。 )为了避免这种情况,您可能可以尝试链接或批量操作 Is bulk update faster than single update in db2?

  3. 数据分发也发挥着重要作用。如果您正在访问负载很重的表,那么从这些表中解析/访问/获取数据也将花费时间(这对于单个查询来说并不重要,但对于大量类似的查询来说确实很糟糕)。尝试通过调整查询来尽量减少这种情况。

关于mysql - 同一服务器上两个相同的数据库具有不同的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22297587/

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