Commit 8b42dba8fa265cd6ab95d2fc55e9e962d127bb29

Authored by Conrad Vermeulen
1 parent 383fc857

KTC-239

"CLONE -Performance has become tragically slow (SUP-443)"
Added. Implemented a a command line script to do basic mysql optmisation on tables.

Committed By: Conrad Vermeulen
Reviewed By: Kevin Fourie

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7292 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 52 additions and 0 deletions
bin/dbmaint.php 0 → 100644
  1 +<?php
  2 +
  3 +require_once('../config/dmsDefaults.php');
  4 +
  5 +print _kt('DB Maintenance') . "...\n\n";
  6 +
  7 +$action = 'check';
  8 +$sqlaction = 'check table';
  9 +if ($argc > 0)
  10 +{
  11 + foreach($argv as $arg)
  12 + {
  13 + $arg=strtolower($arg);
  14 + switch ($arg)
  15 + {
  16 + case 'check':
  17 + case 'repair':
  18 + case 'optimize':
  19 + $sqlaction="$arg table";
  20 + $action = $arg;
  21 + break;
  22 + case 'help':
  23 + print "Usage: dbmaint.php repair|check|optimize\n";
  24 + exit;
  25 + }
  26 + }
  27 +}
  28 +
  29 +print '* ' . sprintf(_kt("Action selected: %s"), $action) . "\n\n";
  30 +
  31 +$sql = "show tables";
  32 +$tables = DBUtil::getResultArray($sql);
  33 +foreach($tables as $table)
  34 +{
  35 + $key = array_keys($table);
  36 +
  37 + $tablename=$table[$key[0]];
  38 + $sql = "$sqlaction $tablename";
  39 + $result = DBUtil::getOneResult($sql);
  40 +
  41 + if (PEAR::isError($result))
  42 + {
  43 + print sprintf(_kt("Attempted: %s"), $sql) . "\n";
  44 + print sprintf(_kt(' *: %s'), $result->getMessage()) . "\n";
  45 + continue;
  46 + }
  47 + print sprintf(_kt("Running: %s - %s"), $sql, $result['Msg_text']) . "\n";
  48 +}
  49 +
  50 +print _kt('Done.') . "\n";
  51 +
  52 +?>
0 \ No newline at end of file 53 \ No newline at end of file