2016-02-22 2 views
1

У меня есть база данных с ~ 200 таблицами, которые я хочу провести, чтобы таблицы не стали слишком большими.Считать ежедневные строки по таблицам в MySQL

Я знаю, что могу легко получить представление о том, много таблицы атрибутов Я хочу (размер в МБ, строки, длина строки, длина данных, и т.д.) с:

SHOW TABLE STATUS FROM myDatabaseName; 

Но не хватает одного ключа часть информации, которую я получаю после: сколько строк добавляется к каждой таблице за данный период времени?

В каждой записи есть столбец datestamp в соответствующих форматах, если это помогает.

Edit: По сути, я хочу что-то вроде:

SELECT COUNT(*) 
FROM * 
WHERE datestamp BETWEEN [begindate] AND [enddate] 
GROUP BY tablename 

ответ

0

Следующая должны работать, чтобы получить количество строк вошли в для данной таблицы в течение заданного периода времени:

select count(*) from [tablename] where datestamp between [begindate] and [enddate] 
+0

Что я ищу - это возможность запускать это для таблицы _every_, например: 'SELECT COUNT (*) FROM * WHERE datestamp BETWEEN [begindate] AND [enddate] GROUP BY tablename' –

0

После бит исследования, похоже, что это невозможно в MySQL, поскольку для этого потребуются массивные чтения таблиц (в конце концов, количество строк может различаться между пользователями).

Вместо этого я захватил журналы транзакций для всех заданий, которые записываются в таблицы, и я проанализирую их. Немного взломанный, но он работает.

Смежные вопросы