SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.09.2010 18:54:41

alexvol
Участник
Откуда: Киев
Зарегистрирован: 22.05.2009
Сообщений: 7

Подсчет строк в очень больших таблицах InnoDB

Здравствуйте!

Есть таблицы InnoDB, которые могут расширится до очень больших объемов(10, 20 и более млн. записей). Вопрос как эффективней подсчитывать количество строк, через COUNT() или лучше создать отдельную таблицу где будет информация о количестве строк в нужной таблице? Или есть другие более подходящие варианты? Так как система только разрабатывается рассматривается наиболее эффективные варианты

Заранее спасибо за ответ!

Отредактированно alexvol (03.09.2010 09:41:46)

Неактивен

 

#2 02.09.2010 20:12:56

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подсчет строк в очень больших таблицах InnoDB

Если Вам нужно точное значение — то да, Вам нужна денормализация. Если
достаточно приблизительного количества строк во всей таблице, то его можно
получить через SHOW TABLE STATUS LIKE 'tablename'.

Неактивен

 

#3 03.09.2010 09:40:47

alexvol
Участник
Откуда: Киев
Зарегистрирован: 22.05.2009
Сообщений: 7

Re: Подсчет строк в очень больших таблицах InnoDB

да мне нужно точное значение строк, так как надо будет выводить информацию о количестве и + нафигацию по страницам максимуму 7  ссылок на ближайшие страницы и ссылка на последнию стр.

"Денормализация" - это я так понял создание отдельной таблицы с данными о коичестве записей в других таблицах?

Неактивен

 

#4 03.09.2010 16:28:55

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подсчет строк в очень больших таблицах InnoDB

Да.

Неактивен

 

#5 04.09.2010 17:11:37

alexvol
Участник
Откуда: Киев
Зарегистрирован: 22.05.2009
Сообщений: 7

Re: Подсчет строк в очень больших таблицах InnoDB

Спасибо. Вы всегда помогаете разобраться в проблеме...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson