gpt4 book ai didi

mysql - mysql中的大表和请求时间

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

假设我们有一个包含 1 亿条记录的表。当我进行查询时。简单的select一下就可以了,0.5秒就可以给我返回数据了。

现在,如果 100 个用户同时请求相同的查询。每个用户需要 50 秒才能响应吗? (0.5 * 100)

最佳答案

不,数据库不一定能那样扩展。他们可以变得更好。或者它们可能会更糟。

如果您有这么大的表,那么您将使用索引访问行。据推测,该索引位于内存中。有几个组件可以完成这个简单的搜索,例如:

  • 编译初始查询(从 SQL 到引擎实际执行的查询)。
  • 搜索要返回的行
  • 从这些行中收集数据
  • 将数据返回给用户

不同的阶段有不同的 CPU、I/O 和网络要求。我的猜测是,在您的计算机上,运行单个查询并不会最大限度地利用这些资源。您也许可以运行第二个类似的查询,而影响最小。也许还有第三个。但数量不是无限的。

最终,并发查询将开始以某种方式相互干扰。这种干扰可能会导致非线性性能下降,特别是当它涉及耗尽所有可用数据库内存并将组件交换到磁盘时。如果您确实想知道阈值,则必须在您的系统上进行测试。

顺便说一下,这是一个非常简单的例子。您只有一张表(如您所描述的),因此您没有多个对象来满足内存需求。您没有进行任何数据修改,因此不必处理锁定问题。

关于mysql - mysql中的大表和请求时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761628/

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