通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  下士

注册:2009-2-131
跳转到指定楼层
1#
发表于 2010-4-23 15:59:07 |只看该作者 |倒序浏览
DataReport中的FORALL循环



在某个项目中上了10台MySQL数据库, 编写了几段脚本收集了MySQL及主机的性能信息, 如CPU利用率, 系统负载, MySQL中的事务数, 查询数量等. 在使用DataReport编写一个页面展示10个Master库的负载信息时, 发现要写很多的SQL语句, 比较繁硕, 若有调整, 更加麻烦.
WEBCHART.QUERY_1=select … from mysql_load where host=’mysql1′
WEBCHART.QUERY_2=select … from mysql_load where host=’mysql1′
WEBCHART.QUERY_3=select … from mysql_load where host=’mysql1′
……
WEBCHART.QUERY_10=select … from mysql_load where host=’mysql1′
    同事数次询问有没有循环的功能, 以减轻DataReport页面编写的任务, 经过几番思量, 为其增加了FORALL循环功能.
WEBCHART.FORALL_n= var1=var1 value 1; var2=var2 value 1
      var1=var1 value 2; var2=var2 value 2
      ……
      var1=var1 value n; var2=var2 value n
    对于FORALL标记的每一行, 都会执行一次第n个定义的循环处理, 比如下面的页面定义.
webchart.xsldoc=xsl/default.xsl
webchart.forall_1=dno=10; title=Dept 10
  dno=20; title=Dept 20
  dno=30; title=Dept 30
webchart.query_1=select  empno, ename
    from emp
    where deptno = :dno
    就会执行三次对EMP表的查询, 分别列出不同部门的员工编号和员工名字, 有了这个功能后, 使得显示10个MySQL Master数据性能页面的编写变得简单可维护多了

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-16 09:20 , Processed in 0.095942 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部