Как хранить количество элементов в базе?

Духовность™

Продвинутый новичок
Как хранить количество элементов в базе?

Привет.

У нас есть раздел "новости". В новостях тыща новостей. Нужно на сайте написать "новостей у нас столько-то". Количество "столько-то" лучше хранить в таблице и обновлять при удалении/добавлении записей, или же это количество считать при каждом вызове скрипта?


Спасибо.
 

atv

Новичок
"тыща" это не так много, можно и посчитать, когда перевалит за полмиллиона, тогда, может, придётся заморачиваться.
 

Духовность™

Продвинутый новичок
atv
Отличный ответ для программиста. Вы так же пишите свои скрипты, в духе "пока петух не клюнет"?
 

melo

однажды
COUNT(*) is optimized to return very quickly if the SELECT retrieves from one table, no other columns are retrieved, and there is no WHERE clause. For example:
mysql> SELECT COUNT(*) FROM student;
This optimization applies only to MyISAM and ISAM tables only, because an exact record count is stored for these table types and can be accessed very quickly. For transactional storage engines (InnoDB, BDB), storing an exact row count is more problematic because multiple transactions may be occurring, each of which may affect the count.
 

atv

Новичок
Вы так же пишите свои скрипты, в духе "пока петух не клюнет"?
Твой вопрос относиться к оптимизации. Слово ОПТИМИЗАЦИЯ ты правильно понимаешь?

Оптимизация, это выбор компромиссного решения между взаимно исключающими параметрами системы, например: производительность и объём используемой памяти; сроки реализации и функциональность.

Поэтому, и ещё по многим причинам, оптимизация проводиться на завершающей стадии проекта.

Ты можеш потратить время на написание кода отслеживания изменений количества новостей, но так никогда и не столкнуться с проблемой их большого количества.
 

Духовность™

Продвинутый новичок
atv
Мой вопрос относится к проектированию.

За уймой умных фраз я так и не понял, что Вы предлагаете то по существу?
 

jonjonson

Охренеть
triumvirat, если ваш вопрос относится к проектированию, то НЕ НУЖНО НА КАЖДОЙ СТРАНИЦЕ ВЫВОДИТЬ ОБЩЕЕ КОЛИЧЕСТВО НОВОСТЕЙ!!! ПОСЕТИТЕЛИ НЕ СТАТИСТИКИ И ИМ ЭТОГО НЕ НУЖНО!!!

А если решил узнать количество новостей, например, для поддержки многостраничного вывода, то COUNT по индексированному полю уникального идентификатора новости. Впрочем это подсказали раньше. И не создавай лишних звеньев, которые могут поламаться без надобности. НЕТУ ТАКОЙ У ТЕБЯ НЕОБХОДИМОСТИ!!! НЕ ОПТИМИЗИРУЙ ИДЕАЛЬНУЮ КАРТИНКУ В МОЗГАХ!!! ЕЁ НЕТ!!!

Займись лучше программированием :)
 

Ralph

Дикий столяр
Не совсем в тему,но... задав несколько раз подобные вопросы на форумах,нашел способ быстро узнать искомое.Теперь,к примеру,создал 1Мб текстовый файл с символами в различных кодировках,неэкранированными кавычками и слэшами и,написав кусок кода,работающий с текстом,обязательно прогоняю через него эту строку.То же с базой-создаю в обрабатываемой(ых) таблице(ах) 10.000-100.000-10^6 записей и гоняю,оптимизируя что душа пожелает

-~{}~ 28.12.07 08:24:

Это конечно не Самое-Универсальное-Решение-Идеально-Подходящее-Ко-Всем-ПХП-Скриптам,но если есть 2-3 альтернативы,то в свое время оно мне быстро подсказывало,что более быстро и корректно будет работать в моем случае-str_replace или strtr,COUNT(*) или COUNT(name)...
 
Сверху