使用pureQuery优化现有的JDBC应用程序 - 编程入门网
行的代码路径;为了只执行第一条代码路径,指定 1
图 19 显示了一个运行配置的例子。 图 19. 运行配置的示例 在捕捉 SQL 语句时,驱动程序分析语句,如果检测到可能导致语句静态执行 时产生不正确结果的潜在问题,则发出警告消息。默认情况下,这些警告消息不 会显示,因为应用程序可以在任何环境中运行,生成的输出可能不可见。 建议:启用 pureQuery 日志记录被认为是最佳实践,它可以在一个外部文件 中捕捉和查看警告,以确定在执行接下来的步骤之前是否需要做其他事情。 要启用日志记录,可将系统属性 pdq.traceLevel 设置为 FINE,还可以将一 个文件名指定给系统属性 pdq.traceFile。例如,为了启用捕捉示例应用程序的 SQL 时的日志记录,可输入 -Dpdq.traceLevel=FINE 作为 VM 参数,如 图 19 所示。如果没有指定日志文件的名称,在默认使用 pdq.log 作为文件名。 单击 Run 启动应用程序,并捕捉应用程序在执行第一条代码路径时发出的 SQL 语句。(在现实场景中,会对应用程序运行一组测试套件,以确保尽可能多 的 SQL 语句被运行,从而被捕捉)。 可选:浏览捕捉的元数据 在此顺便简要地展示一下,在捕捉到一些 SQL 之后,可以做些什么很棒的事 情。Data Studio Developer 1.2 提供了一个名为 pureQuery Outline 的新视图 ,通过这个视图,应用程序开发人员和 DBA 可以确定检索或操作哪些数据库对象 ,以及该操作是在源代码中的什么地方执行的。有了这样的信息,就可以大大提 高生产率,因为这简化了分析和问题诊断。 要利用 pureQuery outline 视图提供的可视化功能,Java 应用程序必须使用 方法样式的 pureQuery API 作为数据访问层,或者允许使用您已经完成的步骤捕 捉它的 SQL。 在 Package Explorer 中,选择 ClientOptimization 项目,并按 F5 键刷新 显示屏。捕捉过程结束后,现在项目中多了两个文件:捕捉的 SQL 元数据文件 pureQueryFoldercapture.pdqxml 和 pureQuery 日志文件 pdq.log。 图 20. 捕捉 SQL 时创建的文件 使用pureQuery优化现有的JDBC应用程序(10)时间:2011-05-20 IBM Patrick Titzler打开 pdq.log。如果在捕捉过程中检测到,某个已执行的 SQL 语句静态地执 行时可能导致不正确的结果,那么可以看到相应的警告消息。注意,日志文件中 没有包含任何警告消息,这表明没有检测到潜在的问题。关闭日志文件。 双击 pureQueryFoldercapture.pdqxml,以使用 pureQuery Outline 视图显 示捕捉到的元数据。 定位到 pureQuery Outline 视图。如果该视图中没有显示信息,则单击 refresh outline 图标,如图 21 所示。 图 21. “refresh” 图标 该视图被分成三个选项卡:Database、Java 和 SQL。本教程的这一部分只讨 论前两个选项卡;SQL 选项卡放在下一节的配置阶段时讨论。 选择 Database 选项卡。如图 22 所示,该选项卡显示 Java 应用程序以捕捉 模式执行时访问或修改过的数据库对象的列表。该信息以层次结构的形式显示, 标识数据库对象、创建对象时所在的模式、对对象执行的查询,以及相应的应用 程序栈跟踪。对于每条 SQL 语句,显示一组列,表明哪些数据被访问。 图 22. Database 选项卡 树中显示的每个节点和元素都提供可简化常见开发或维护活动的功能,将 SQL 更紧密地集成到 Java IDE 中。 双击一个模式、表或列节点,以打开 Database Explorer 视图,并查看相应 的属性。(也可以右键单击表名并选择 Show in Database Explorer)。 图 23. 在 Database Explorer 中查看表的属性 使用pureQuery优化现有的JDBC应用程序(11)时间:2011-05-20 IBM Patrick Titzler双击一条 SQL 语句,以打开源代码(如果它在当前项目中)。光标将定位到 执行该 SQL |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |