Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

db2advis

Posted on 2009-07-23 23:56 Prayer 阅读(1463) 评论(0)  编辑 收藏 引用 所属分类: DB2

db2advis 是 DB2 提供的另外一种非常有用的命令。通过该命令 DB2 可以根据优化器的配置以及机器性能给出提高查询性能的建议。这种建议主要集中于如何创建索引,这些索引可以降低多少查询代价,需要创建哪些表或者 Materialized Query Table(MQT) 等。命令如清单 3 所示:


清单 3. db2advis 命令
                db2advis -d <db_name> -a <user>/<password> -i <sql.file> -o <output>
            Example: db2advis -d test_db -a user/password
            -i D:\temp\sql_2.txt > D:\temp\sql_2_result_db2advis.txt
            Query:
            sql_2.txt(附件中)
            Results:
            sql_2_result_db2advis.txt(附件中)
            

 

通过 -i 指定的 SQL 文件可以包含多个查询,但是查询必须以分号分隔。这与 db2expln 命令不同,db2expln 可以通过 -z 参数指定多个查询之间的分隔符。用户可以把某一个 workload 中所使用的所有查询写入 SQL 文件中,并在每个查询之前使用”--#SET FREQUENCY <num>”为其指定在这个 workload 中的执行频率。db2advis 会根据每个查询在这个 workload 的频率指数进行权衡来给出索引的创建建议,从而达到整个 workload 的性能最优。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理