本机MySQL分区和基于后端的分区之间的性能差异?

时间:2016-10-05 05:32:49

标签: mysql database performance scalability

假设我有两个具有相同数据量的方案,例如一个包含500行的表。 首先,我使用一个查询来查询分区的MySQL表,并让其余的逻辑到MySQL引擎来获取我的结果。

在第二种情况下,我创建了5个表,最多100行。 然后我以编程方式遍历那些表,直到找到记录,就像这样(伪代码):

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

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

1 个答案:

答案 0 :(得分:1)

都不是。

500行是微不足道的。即使MySQL可以并行执行,也无济于事。

使用合适的索引 - 通常会有很大的帮助。

您的特定伪代码并不比使用最终LIMIT 1的MySQL查询可以在扫描所有内容之前停止查询更好。所以,再说一次,我说“两种分区都不会有任何帮助”。

相关问题