function system_sql

6.x system.admin.inc system_sql()

Menu callback: return information about the database.

1 string reference to 'system_sql'
system_menu in drupal-6.x/modules/system/system.module
Implementation of hook_menu().

File

drupal-6.x/modules/system/system.admin.inc, line 1784
Admin page callbacks for the system module.

Code

function system_sql() {

  $result = db_query("SHOW STATUS");
  while ($entry = db_fetch_object($result)) {
    // 'SHOW STATUS' returns fields named 'Variable_name' and 'Value',
    // case is important.
    $data[$entry->Variable_name] = $entry->Value;
  }

  $output = '<h2>' . t('Command counters') . '</h2>';
  $output .= _system_sql($data, array(
    'Com_select' => t('The number of <code>SELECT</code>-statements.'),
    'Com_insert' => t('The number of <code>INSERT</code>-statements.'),
    'Com_update' => t('The number of <code>UPDATE</code>-statements.'),
    'Com_delete' => t('The number of <code>DELETE</code>-statements.'),
    'Com_lock_tables' => t('The number of table locks.'),
    'Com_unlock_tables' => t('The number of table unlocks.')
  ));

  $output .= '<h2>' . t('Query performance') . '</h2>';
  $output .= _system_sql($data, array(
    'Select_full_join' => t('The number of joins without an index; should be zero.'),
    'Select_range_check' => t('The number of joins without keys that check for key usage after each row; should be zero.'),
    'Sort_scan' => t('The number of sorts done without using an index; should be zero.'),
    'Table_locks_immediate' => t('The number of times a lock could be acquired immediately.'),
    'Table_locks_waited' => t('The number of times the server had to wait for a lock.')
  ));

  $output .= '<h2>' . t('Query cache information') . '</h2>';
  $output .= '<p>' . t('The MySQL query cache can improve performance of your site by storing the result of queries. Then, if an identical query is received later, the MySQL server retrieves the result from the query cache rather than parsing and executing the statement again.') . '</p>';
  $output .= _system_sql($data, array(
    'Qcache_queries_in_cache' => t('The number of queries in the query cache.'),
    'Qcache_hits' => t('The number of times MySQL found previous results in the cache.'),
    'Qcache_inserts' => t('The number of times MySQL added a query to the cache (misses).'),
    'Qcache_lowmem_prunes' => t('The number of times MySQL had to remove queries from the cache because it ran out of memory. Ideally should be zero.')
  ));

  return $output;
}