我有2个表,相同的结构,相同的行,相同的数据,但第一个有更多的列(字段)。
例如:
我从它们两个中选择相同的3个字段(SELECT a,b,c FROM mytable1然后SELECT a,b,c FROM mytable2)
我试图在100,000条记录上运行这些查询(对于每个表),但最后我得到了相同的执行时间(0.0006秒) 你知道列的数量(最后一个表的大小是否大于另一个表)是否必须对查询执行时间做些什么?
答案 0 :(得分:1)
这会影响执行时间,但我认为列/行大小的线性增加会产生边际效应。由于MySQL仍然需要处理/显示额外数据,因此它无法实现零效果。
关键点(在我看来)将仅选择您需要选择的列和行。
答案 1 :(得分:1)
逻辑上它会影响执行时间,如果包含更多列的表上的数据更大,您可能会看到差异。 防爆。表1:500mb,表2:40mb。 如果数据集索引不再适合内存,性能会下降。然后磁盘性能步骤。
答案 2 :(得分:1)
IMO。只选择正确的列会影响交付时间(从数据库服务器到应用程序服务器)并影响内存,因为应该存储和传输更多数据。
答案 3 :(得分:1)
在您的示例中,您从表中选择了相同的三列。有几种方法可以让我想到有哪些额外的列(但不选择它们)会产生很小/没有影响:
通常,更窄的表格会为您带来更好的表现。
如果你想尝试一个例子,抛出一些大的CHAR(而不是VARCHAR)并在你的测试查询中选择那些列。我希望情况会更糟。
希望有所帮助。