当前位置:  开发笔记 > 前端 > 正文

优化0ms查询(或提前优化)?

如何解决《优化0ms查询(或提前优化)?》经验,为你挑选了1个好方法。

在开发的最后阶段,我开始查看代码,试图找到一些不好的做法.我发现在访问页面时,我正在查询数据库n次(n是HTML表的行数)只是为了获得给定记录的翻译(不同的语言)...我立刻认为这很糟糕我尝试了一个小优化.

运行SQL事件探查器显示这些查询占用0毫秒.

由于我查询的这些表很小(20-100条记录),我以为我可以获取所有数据并将它们缓存到Web服务器RAM中,稍后使用LINQ to Objects进行检索.这种方式的执行时间也是0ms.

我正在运行这些测试的环境是同一台机器上负载为0%的DB和Web服务器.这只是我使用的应用程序.

问题从这里开始.既然我没有任何性能差异,我应该避免这种优化吗?我是否应该保持平衡DB和Web服务器的使用(服务器将在生产环境中的两台不同的机器上)?

在我看来,这种优化不会损坏性能,只有在重负载DB的情况下才能做得更好.我的大脑中有一些东西说如果没有必要进行优化是错误的......

感谢您的意见.



1> Jon Skeet..:

我认为你实际上并没有表明根本没有性能差异.

尝试每次运行查询一百万次,并计算总共需要多长时间...我认为你会看到一个很大的不同.

SQL探查器仅向您显示(据我所知)数据库执行查询所花费的时间.它没有考虑到:

设置连接或准备查询所花费的时间

发出查询的网络延迟所花费的时间

返回结果的网络延迟所花费的时间

将结果转换为有用对象所花费的时间.

当然,过早优化通常是一件坏事,但这听起来像是一个合理的改变 - 如果你知道表的内容不会改变.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有