aLx_od
Новичок
Сократить время поиска
Здравствуйте, ув. мастера.
Имеется каталог CD-дисков.
Таблица "ДИСКИ"
| id_diska (INDEX) | название диска |
Число строк 30000
Таблица "КАТЕГОРИИ"
| id_kategorii (INDEX) | Название категории |
Число строк 1000
Таблица "ДИСКИ-КАТЕГОРИИ" (многие-ко-многим)
| id_diska (INDEX) | id_kategorii (INDEX) |
Число строк 150000
Задача:
на главной странице возле названия каждой категории отобразить количество дисков в ней.
Мое решение:
по каждой категории SELECT COUNT(*) FROM ДИСКИ-КАТЕГОРИИ WHERE id_kategorii=X GROUP BY id_diska
Недостаток:
очень длительное время подсчета и, соответственно, загрузки главной страницы.
Вопрос:
Можно ли подобную задачу решить иначе, или нужно создавать отдельную таблицу где будет содержаться эта информация и обновлять ее при каждом добавлении нового диска?
Спасибо.
Здравствуйте, ув. мастера.
Имеется каталог CD-дисков.
Таблица "ДИСКИ"
| id_diska (INDEX) | название диска |
Число строк 30000
Таблица "КАТЕГОРИИ"
| id_kategorii (INDEX) | Название категории |
Число строк 1000
Таблица "ДИСКИ-КАТЕГОРИИ" (многие-ко-многим)
| id_diska (INDEX) | id_kategorii (INDEX) |
Число строк 150000
Задача:
на главной странице возле названия каждой категории отобразить количество дисков в ней.
Мое решение:
по каждой категории SELECT COUNT(*) FROM ДИСКИ-КАТЕГОРИИ WHERE id_kategorii=X GROUP BY id_diska
Недостаток:
очень длительное время подсчета и, соответственно, загрузки главной страницы.
Вопрос:
Можно ли подобную задачу решить иначе, или нужно создавать отдельную таблицу где будет содержаться эта информация и обновлять ее при каждом добавлении нового диска?
Спасибо.