我的教授让我们思考这个问题(不要做作业,别担心),我被难住了。我知道如果t中有a、b和c列,它会告诉你,但是如果有更多的列,它不会被排除在输出之外吗?
bqjvbblv1#
你只会知道 t 包含 a , b ,和 c .查询没有提供其他信息。不幸的是,执行计划不会提到不在查询中的列。执行计划甚至可能在上使用索引 (a, b, c) ,所以性能不是一个指南。
t
a
b
c
(a, b, c)
5n0oy7gb2#
如果您可以观察系统执行查询的过程,并且知道表的结构,并且有很多列,那么您可以通过查询结果的生成速度粗略估计每行的长度。
2条答案
按热度按时间bqjvbblv1#
你只会知道
t
包含a
,b
,和c
.查询没有提供其他信息。
不幸的是,执行计划不会提到不在查询中的列。执行计划甚至可能在上使用索引
(a, b, c)
,所以性能不是一个指南。5n0oy7gb2#
如果您可以观察系统执行查询的过程,并且知道表的结构,并且有很多列,那么您可以通过查询结果的生成速度粗略估计每行的长度。