mysql—给定一个sql语句的形式“selectA,b,c fromt”及其输出,您能确定表t中的列数吗?

suzh9iv8  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(390)

我的教授让我们思考这个问题(不要做作业,别担心),我被难住了。我知道如果t中有a、b和c列,它会告诉你,但是如果有更多的列,它不会被排除在输出之外吗?

wgmfuz8q

wgmfuz8q1#

如果您可以观察系统执行查询的过程,并且知道表的结构,并且有很多列,那么您可以通过查询结果的生成速度粗略估计每行的长度。

t98cgbkg

t98cgbkg2#

你只会知道 t 包含 a , b ,和 c .
查询没有提供其他信息。
不幸的是,执行计划不会提到不在查询中的列。执行计划甚至可能在上使用索引 (a, b, c) ,所以性能不是一个指南。

相关问题