从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。
分类: Sybase
2012-01-17 15:39:51
2. IQ Multiplex环境下使用方法
这里所说的方法适用于IQ 15.2及以上版本(IQ 运行在Multiplex环境下)。下面的操作以假设以DBA用户进行登录执行(如果用其他普通用户,那么需要对相应存储过程进行授权)。
(1) 首先需要启动工作负载收集
sp_iqworkmon 'start' --使用缺省模式启动工作负载收集(包括表、字段和索引访问)
注意:
• 收集的信息位于内存中,IQ Server重启或是执行了sp_iqworkmon ‘reset’信息会丢失,并且需要使用上面sp_iqworkmon ‘start’命令重新启动信息收集。
• 在处理用户事物的每个节点上都要执行这个存储过程。
(2) 运行应用系统或应用系统的相关功能模块
在运行期间,IQ会自动收集应用系统发出的SQL语句访问IQ数据库对象的统计信息。
注意:这里所说的SQL语句是指SELECT、UPDATE和DELETE语句。
(3) 停止工作负载收集
sp_iwowrkmon 'stop' --停止工作负载收集
注意:
• 在停止收集后,先前收集的信息不会被清除。
• 在处理用户事物的每个节点上都要执行这个存储过程。
(4) 获得在SQL语句中未使用过对象的信息
A. 在处理用户事物的每个节点上执行如下操作(假设有3个写节点):
select * into iq_unusedtable_w1 from sp_iqunusedtable(); --在写节点1(w1)上执行
select * into iq_unusedtable_w2 from sp_iqunusedtable(); --在写节点2(w2)上执行
select * into iq_unusedtable_w3 from sp_iqunusedtable(); --在写节点3(w3)上执行
select * into iq_unusedcolumn_w1 from sp_ iqunusedcolumn(); --在写节点1(w1)上执行
select * into iq_unusedcolumn_w2 from sp_ iqunusedcolumn(); --在写节点2(w2)上执行
select * into iq_unusedcolumn_w3 from sp_ iqunusedcolumn(); --在写节点3(w3)上执行
select * into iq_unusedindex_w1 from sp_ iqunusedindex();--在写节点1(w1)上执行
select * into iq_unusedindex_w2 from sp_ iqunusedindex();--在写节点2(w1)上执行
select * into iq_unusedindex_w3 from sp_ iqunusedindex();--在写节点3(w1)上执行
B. 在协调节点上(也可以是任何一个写节点)执行如下操作,获得未使用对象的信息
select * from iq_unusedtable_w1
union
select * from iq_unusedtable_w2
union
select * from iq_unusedtable_w3 --获得未使用表的信息
select * from iq_unusedcolumn_w1
union
select * from iq_unusedcolumn_w2
union
select * from iq_unusedcolumn_w3 --获得未使用字段的信息
select * from iq_unusedindex_w1
union
select * from iq_unusedindex_w2
union
select * from iq_unusedindex_w3 --获得为使用索引信息
(5) 清除收集的统计信息
sp_iwowrkmon 'reset' --清除收集的信息
注意:当收集的统计信息不再需要时,应当使用reset模式清除它们。