All tables have Primary index Cluster index Caching
Self diagnostics this Script will check if all tables have Primary index Cluster index Caching
//NOTE: temp tables are skipped
static void TableTuningTest(Args _args)
{
boolean skipEmptyTables = true;
boolean result;
treeNode treeNode;
SysDictTable sdt;
str TableAndCound;
int recordCount;
boolean skipEmptyrecordCount = false;
treeNodeIterator treeNodeIterator =TreeNode::findNode("\\Data Dictionary\\Tables").AOTiterator();
;
treeNode = treeNodeIterator.next();
setPrefix("Tuning");
while (treeNode)
{
sdt = new SysDictTable(tablename2id(treeNode.AOTname()));
recordCount = sdt.recordCount();
if(!sdt.isTmp() && (!skipEmptyTables || (recordCount != 0)) )
{
TableAndCound = treeNode.AOTname()+ ' ('+ int2str(sdt.recordCount())+')';
setPrefix(TableAndCound);
result = false;
result = result || sdt.treeNode().AOTgetProperty("CreatedDateTime") == "yes" ? true : false;
result = result || sdt.treeNode().AOTgetProperty("ModifiedDateTime")== "yes" ? true : false;
if(result && sdt.treeNode().AOTgetProperty("CreateRecIdIndex") == "No" )
{
setPrefix(TableAndCound);
info("RecIdIndex");
}
if(sdt.treeNode().AOTgetProperty("CacheLookup") == "None")
{
setPrefix(TableAndCound);
info("CacheLookup");
}
if(sdt.treeNode().AOTgetProperty("ClusterIndex") == "")
{
setPrefix(TableAndCound);
Warning("ClusterIndex");
}
if(sdt.treeNode().AOTgetProperty("PrimaryIndex") == "")
{
setPrefix(TableAndCound);
Error("PrimaryIndex");
}
}
treeNode = treeNodeIterator.next();
}
}
Comments
Post a Comment