Как просмотреть сколько записей во всех таблицах и их размер?

Тема в разделе "Базы данных", создана пользователем vhome, 28 авг 2012.

Модераторы: latteo
  1. vhome

    vhome Создатель

    Регистр.:
    6 авг 2012
    Сообщения:
    37
    Симпатии:
    35
    Как просмотреть сколько записей во всех таблицах и их размер?
    Тоесть чего набрать чтобы статистику по базе данных посмотреть?
     
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.722
    Симпатии:
    2.097
    ну если тебя не успугают следующие запросы, то попробуй запустить их в пхпмайадмине или что там у тебя есть из подручных средств:

    1. Поиск баз с наибольшим размером

    Код:
    SELECT
     
            count(*) tables,
     
            table_schema,concat(round(sum(table_rows)/1000000,2),'M') rows,
     
            concat(round(sum(data_length)/(1024*1024*1024),2),'G') data,
     
            concat(round(sum(index_length)/(1024*1024*1024),2),'G') idx,
     
            concat(round(sum(data_length+index_length)/(1024*1024*1024),2),'G') total_size,
     
            round(sum(index_length)/sum(data_length),2) idxfrac
     
            FROM information_schema.TABLES
     
            GROUP BY table_schema
     
            ORDER BY sum(data_length+index_length) DESC LIMIT 10;
    2. Найти общее количество записей, размер даных и индексов и т.д. для текущего инстанса мускула
    Код:
    SELECT count(*) tables,
     
      concat(round(sum(table_rows)/1000000,2),'M') rows,
     
      concat(round(sum(data_length)/(1024*1024*1024),2),'G') data,
     
      concat(round(sum(index_length)/(1024*1024*1024),2),'G') idx,
     
      concat(round(sum(data_length+index_length)/(1024*1024*1024),2),'G') total_size,
     
      round(sum(index_length)/sum(data_length),2) idxfrac
     
    FROM information_schema.TABLES;
    3. Похожий запрос, чтоб посчитать размеры для определённого типа в шаред пространстве, где может быть несколько таблиц с одинаковой схемой и похожими именами
    Код:
    SELECT count(*) tables,
     
          concat(round(sum(table_rows)/1000000,2),'M') rows,
     
          concat(round(sum(data_length)/(1024*1024*1024),2),'G') data,
     
          concat(round(sum(index_length)/(1024*1024*1024),2),'G') idx,
     
          concat(round(sum(data_length+index_length)/(1024*1024*1024),2),'G') total_size,
     
          round(sum(index_length)/sum(data_length),2) idxfrac
     
          FROM information_schema.TABLES
     
          WHERE  table_name like "%performance_log%";
    а вообще-то смотри оригинал http://www.mysqlperformanceblog.com/2008/03/17/researching-your-mysql-table-sizes/, если с англ. всё окей, там автор очень всё просто и красиво описал, плюс там есть ещё пару примеров
     
    vhome нравится это.
  3. xoxmo

    xoxmo Постоялец

    Регистр.:
    24 мар 2008
    Сообщения:
    142
    Симпатии:
    86
    если установлен phpmyadmin, то он и так показывает и размер таблиц и количество записей в них и прочую нужную информацию безо всяких запросов (вкладка Structure в выбранной базе данных).
     
  4. vhome

    vhome Создатель

    Регистр.:
    6 авг 2012
    Сообщения:
    37
    Симпатии:
    35
    Ну это отношения к вопросу не имеет
     
  5. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.378
    Да ладно? Правильный ответ на твой вопрос: используй менеджер БД (например phpmyadmin) и смотри статистику. Если тебе ЭТОТ вариант не подходит, то будь добр написать об этом сразу и по человечески а не флудить.