我正在学习SQL"10分钟内的SQL",
引用使用通配符来检索所有记录,它声明:
通常,除非确实需要表中的每一列,否则最好不要使用*通配符.即使使用通配符可以节省显式列出所需列所需的时间和精力,但检索不必要的列通常会降低检索和应用程序的性能.
但是,检索所有记录所花费的时间少于检索多个字段所需的时间:
结果表明,通配符为0.02秒VS 0.1秒
我测试过几次,通配符比多个指定的列不断更快,即使每次消耗的时间都不同.
感谢您尝试验证您在书中获得的建议!单个测试既不会使建议失效也不会使测试无效.值得进一步深入研究.
提供的建议SQL In 10 Minutes
是合理的建议 - 它明确指出与绩效相关的目的.(另一个考虑因素是,当数据库发生变化时,它会使代码不稳定.)作为注释:我经常使用select t.*
ad-hoc查询.
为什么结果不同?这可能有多种原因:
从根本上说,这个建议从常识的角度来看是合理的.减少数据移动应该更有效率.这就是建议所说的.
在任何情况下,10毫秒和2毫秒之间的差异非常短.我不会将这种性能推广到更大的数据,并说第二次比一般数据快5倍.无论出于何种原因,它在非常小的数据集上缩短了8毫秒,其中一个非常小,无论如何都不会考虑性能.
归档时间: |
|
查看次数: |
62 次 |
最近记录: |