16 if (!defined(
'ADODB_DIR'))
die();
23 created TIMESTAMP NOT NULL, 24 sql0 varchar(250) NOT NULL, 25 sql1 varchar(4000) NOT NULL, 26 params varchar(3000) NOT NULL, 27 tracer varchar(500) NOT NULL, 28 timer decimal(16,6) NOT NULL 33 'data cache hit ratio' => array(
'RATIO',
35 case when sum(POOL_DATA_L_READS+POOL_INDEX_L_READS)=0 then 0 36 else 100*(1-sum(POOL_DATA_P_READS+POOL_INDEX_P_READS)/sum(POOL_DATA_L_READS+POOL_INDEX_L_READS)) end 37 FROM TABLE(SNAPSHOT_APPL('',-2)) as t",
41 'data cache buffers' => array(
'DATAC',
42 'select sum(npages) from SYSCAT.BUFFERPOOLS',
43 'See <a href=http://www7b.boulder.ibm.com/dmdd/library/techarticle/anshum/0107anshum.html#bufferpoolsize>tuning reference</a>.' ),
44 'cache blocksize' => array(
'DATAC',
45 'select avg(pagesize) from SYSCAT.BUFFERPOOLS',
47 'data cache size' => array(
'DATAC',
48 'select sum(npages*pagesize) from SYSCAT.BUFFERPOOLS',
51 'current connections' => array(
'SESS',
52 "SELECT count(*) FROM TABLE(SNAPSHOT_APPL_INFO('',-2)) as t",
66 $save = $this->conn->LogSQL(
false);
68 $sqlq = $this->conn->qstr(
$sql.
'%');
69 $arr = $this->conn->GetArray(
"select distinct sql1 from adodb_logsql where sql1 like $sqlq");
71 foreach($arr as $row) {
73 if (crc32(
$sql) == $partial)
break;
78 $ok = $this->conn->Execute(
"EXPLAIN PLAN SET QUERYNO=$qno FOR $sql");
80 if (!$ok) echo
"<p>Have EXPLAIN tables been created?</p>";
82 $rs = $this->conn->Execute(
"select * from explain_statement where queryno=$qno");
85 $s = ob_get_contents();
87 $this->conn->LogSQL($save);
101 $rs = $this->conn->Execute(
"select tabschema,tabname,card as rows, 102 npages pages_used,fpages pages_allocated, tbspace tablespace 103 from syscat.tables where tabschema not in ('SYSCAT','SYSIBM','SYSSTAT') order by 1,2");
Explain($sql, $partial=false)
if(isset($_REQUEST['nrows'])) else $rs
rs2html(&$rs, $ztabhtml=false, $zheaderarray=false, $htmlspecialchars=true, $echo=true)