From d82217553a39cbda13c58eb37eb01badec30e8b8 Mon Sep 17 00:00:00 2001 From: Vu Thao Date: Mon, 23 May 2016 11:54:48 +0700 Subject: [PATCH] database: Optimizer for Large database --- admin/database/functions.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/admin/database/functions.php b/admin/database/functions.php index b5ad8ea5b1..349f8fc8ab 100755 --- a/admin/database/functions.php +++ b/admin/database/functions.php @@ -43,12 +43,23 @@ function nv_show_tables() $tables_size = floatval($item['data_length']) + floatval($item['index_length']); if ($item['engine'] != 'MyISAM') { - $item['rows'] = $db->query("SELECT COUNT(*) FROM " . $item['name'])->fetchColumn(); + if($item['rows'] < 100000) + { + $item['rows'] = $db->query("SELECT COUNT(*) FROM " . $item['name'])->fetchColumn(); + $item['rows'] = number_format($item['rows']); + } + else { + $item['rows'] = '~' . number_format($item['rows']); + } + } + else + { + $item['rows'] = number_format($item['rows']); } $tables[$item['name']]['table_size'] = nv_convertfromBytes($tables_size); $tables[$item['name']]['table_max_size'] = ! empty($item['max_data_length']) ? nv_convertfromBytes(floatval($item['max_data_length'])) : 0; $tables[$item['name']]['table_datafree'] = ! empty($item['data_free']) ? nv_convertfromBytes(floatval($item['data_free'])) : 0; - $tables[$item['name']]['table_numrow'] = intval($item['rows']); + $tables[$item['name']]['table_numrow'] = $item['rows']; $tables[$item['name']]['table_charset'] = (! empty($item['collation']) && preg_match('/^([a-z0-9]+)_/i', $item['collation'], $m)) ? $m[1] : ''; $tables[$item['name']]['table_type'] = (isset($item['engine'])) ? $item['engine'] : $item['type']; $tables[$item['name']]['table_auto_increment'] = (isset($item['auto_increment'])) ? intval($item['auto_increment']) : 'n/a';