`
tomcat_oracle
  • 浏览: 311631 次
社区版块
存档分类
最新评论

小技巧:显示数据库查询耗时,改善开发者习惯

阅读更多
 很多原因都可能导致网站运行缓慢,但这其中最常见的就是在数据库查询耗时太多。目前,数据库查询可能在网页渲染过程中起着很重要的作用(网页上的内容总得从某处获取),但是有时候 一些不必要的亦或没有优化好的查询会影响网页渲染的速度。
  例如:
  · 查询的数据根本没有被使用
  · 查询时未使用索引
  · 单次查询可以实现的功能却做了多次查询
  · 慢且复杂的查询
  然而有一个简单的机制可以间接的预防并且修复此类问题:
  用‘诊断框’在每一个网页显示数据库查询的次数以及消耗的总时间。
  下面这个示例是我自己的一个网站(截图 或者 这个页面)底部的一个样例诊断块:
  Request Details:
  DB – Queries: 4, Time: 5.66 ms
  我在所有开发项目以及生产环境(用我的账号登陆)中都加了类似的诊断框。对于一个大型网站来说,你很可能想当你从办公室或者VPN访问网站时启用诊断框。如果你愿意的话,诊断框中还可以增加一些更具体的信息(即将运行的查询语句以及其它过程花费的时间等等)。
  好处
  我可以及时的看到是否数据库导致了网页加载缓慢。 在生产环境做调试时这一点尤为有效,因为有些数据库查询在生产环境和开发环境中的表现截然不同。
  当增加新功能的时候,我可以直观的感受到新增的数据查询是否轻量级的。这能帮助我在这个新功能带来的好处和它在访问数据时所消耗的时间这两者之间做一个 权衡。另外它还可以提醒我有些查询语句需要手动优化或者做一些缓冲。
  当我参加的项目中使用了ORM框架时,它能告诉我ORM产生的查询语句是否正是我所期望的。
  当删除一个功能或者做了一些数据缓冲,我可以通过它来确认查询数量是否如愿有所下降。
  尾声
  当然,这些点子不是我发明的,而且有些诊断模式几乎是每个大型网站的常见功能。如果你还没有用到它们,我强烈建议你花点时间去实现它们。有这样的一个‘诊断盒’不会使你的网站本身变快,但它能在开发人员之间激发一些更好的习惯,并且长期来看,它可能对你的网站的速度有巨大的影响!
4
14
分享到:
评论

相关推荐

    数据库耗时sql追踪

    查找数据库内sql使用的资源占用较高的语句,帮助准确定位相关语句作优化调整

    SQL Server数据库查询速度慢原因及优化方法

    【赛迪网-IT技术报道】SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:  1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)  2、I/O吞吐量小,形成了瓶颈效应。  3、没有...

    MySQL数据库:数据库的备份与恢复.pptx

    数据库管理和维护;;“备份”是数据的副本,用于在系统发生故障后还原和恢复数据。 存储介质故障 用户错误操作 服务器彻底瘫痪 自然灾害 ;备份类型通常主要有4种类型存储介质故障。 完整数据库备份 所有数据库对象、...

    [MsAccess作品]Access 数据库启动项设置工具 (1.0) New!1.0

    名称: Access 数据库启动项设置工具<BR> MDB_StartUP.exe<BR> 版本: V1.0<BR> 大小: 32k<BR> 性质:免费、绿色<BR> 说明:Access 数据库启动项行设置和压缩修复工具,支持密码保护的数据库(智能解密),方便易用,...

    Skywalking链路追踪自身耗时和总耗时算法分析

    Skywalking链路追踪自身耗时和总耗时算法分析

    金属材料标准的应用数据库MtrRvw

    将耗时的反复操作的手工作业自动化,数据库应用为工作人员,尤其是薪资较昂贵的专业人员节省大量时间,使他们可以专注于研究和处理问题; 数据库应用能够按照材料规范,如果必要,甚至试验标准的所有条款的规定审查...

    access数据库

    与其他同类型产品不同的是,本软件从分析数据库文件结构入手,破解速度奇快,破解准确率极高。而其他同类型产品一般均采用穷举法破解,破解密码耗时长、成功率低。经过大量用户试用证明,目前还没有本软件破解不了的...

    输出WordPress数据库查询的具体内容 减少数据库查询次数

    在 footer.php 里添加了如下代码,以显示wordpress查询数据库次数及查询耗时: <?php echo get_num_queries() . ‘ queries in ‘ . timer_stop(0) . ‘ seconds.’; ?> 结果显示首页查询30次,日志页查询达...

    MYSQL优化详情大全

    MySQL优化是指通过调整数据库的配置和优化查询语句等方式来提高MySQL数据库的性能和效率。 以下是一些常见的MySQL优化...避免长事务和慢查询:长时间运行的事务和耗时较长的查询会占用数据库资源,影响其他操作的执行

    多线程 :编写一个耗时的单线程程序:

    进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时...

    Android耗时操作Demo

    Android耗时操作的Handler机制处理:子线程模拟耗时操作(文件下载),并进度条显示下载进度;以及弹出Dialog提示用户正在下载。

    Oracle数据库精讲与疑难解析.part2

    耗时3年,作者曾为本书辞职在家专心写作754个实务,件件源自实际工作的经验与教训,配有实务速查目录分享经验,现在作者管理数据库时,就通过复制本书内容来搞定问题为初学者去除Oracle的神秘面纱,少走弯路为专业...

    帆软报表插件,显示sql数据集的查询时间。

    显示我们的sql查询所花的时间。

    Oracle数据库精讲与疑难解析.part3

    耗时3年,作者曾为本书辞职在家专心写作754个实务,件件源自实际工作的经验与教训,配有实务速查目录分享经验,现在作者管理数据库时,就通过复制本书内容来搞定问题为初学者去除Oracle的神秘面纱,少走弯路为专业...

    python耗时统计分析小程序:自己添加打印运行后统计

    在程序中添加耗时打印,运行一段时间保存log,使用该程序分析log中耗时信息

    sql数据库备份还原

    带备份、还原进度条. SQL数据库完美备份,还原. 含强制还原:1、当数据库链接时,干掉所有...2:在数据库有管理权限时强制重启服务(需耗时约30S),然后还原. 默认备份格式为bak,备份名称:数据库名_yyyyMMddHHmmss.bak.

Global site tag (gtag.js) - Google Analytics