gpt4 book ai didi

mysql - sql : searching for a table, 和在表中搜索数据哪个更快?

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

假设数据库中有 1,000 个表,每个表有 1,000 行。当我从这1000个表中搜索单个表时,搜索时间与在其中一个表中搜索数据所需的时间相同吗?

换句话说,SQL 是否使用与从 1,000 行表中获取数据相同的搜索算法从 1,000 个表中查找表?

最佳答案

不,MySQL 不使用相同的搜索算法来查找表。

MySQL 在内存中维护一个“数据字典”,因此当您运行命名特定表的查询时,它会非常快速地查找该表。 MySQL 识别表比在表中搜索数据要快得多。例如,我在工作中维护的数据库服务器有超过 150,000 个表,这不是问题。

这是否意味着您应该将数据拆分到多个表中以使其运行速度更快? ——这通常不是一个好的权衡。它使您的应用程序代码更加复杂,因为您的代码需要选择要查询的表。如果您必须在多个表中搜索结果,您可能还会发现您希望数据位于一张表中的情况。

以下是需要遵循的几个原则:

"Everything should be made as simple as possible, but not simpler." (attributed to Albert Einstein)

"First make it work, then make it right, and, finally, make it fast." (Stephen C. Johnson and Brian W. Kernighan, 1983)

关于mysql - sql : searching for a table, 和在表中搜索数据哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38728660/

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