原生mysql分区和基于后端分区之间的数据库性能差异?

ef1yzkbh  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(205)

假设我有两个场景,数据量相同,例如一个表有500行。首先,我使用一个查询来查询已分区的mysql表,然后让其余的逻辑到mysql引擎来得到我的结果。
在第二种情况下,我创建了5个表,最多有100行。然后,我通过编程遍历这些表,直到找到记录,如下所示(伪代码):

fetchedData = query table1
if fetchedData == null 
  fetchedData = query table2
    if fetchedData == null
            ...
      fetchedData = query table5

这里我看到的主要缺点是,我可能会查询数据库5次而不是1次,这取决于记录存储在哪个表中。但是由于查询更小,更有针对性,它们应该能给我更快的响应时间。或者我应该把它留给mysql分区吗?在第二种情况下,我们不考虑可维护性。

s6fujrry

s6fujrry1#

都不是。
500行是微不足道的。即使mysql可以并行处理,也不会有任何帮助。
使用一个合适的索引——通常是非常有用的。
您的特定伪代码并不比使用 LIMIT 1 最后停止查询,然后再扫描所有内容。所以,我再说一遍,“两种类型的分区都不会有任何帮助”。

相关问题