Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оптимизация
 
 автор: NIK   (01.04.2006 в 17:54)   письмо автору
 
 

Не знаю куда правильнее поместить тему, сюда или в задачи, если что извините.

А судь в следующем - есть каталог файлов на PHP + MySQL (3 таблицы с файлами, каталогами и подкаталогами). И есть отдельный блок (типа меню), в котором выводятся эти каталоги и подкаталоги с количеством файлов. Ну и вот получается плохая ситуация, чтобы узнать количество файлов нужно составить 24 запроса к БД типа

SELECT count(*) FROM files WHERE cat_id = id


Это занимает время, тормозит работу сайта. Проиндексировал нужные столбцы. Разница вроде бы есть < хотя мб это самовнушение :) >, но небольшая.

Нужно придумать какой-то альтернативный способ, ибо так дело не пойдёт :(

Я надумал создать ещё одну таблицу, с 24 столбцами, которые будут иметь имена или ID каталога/подкаталога. В этой таблице создать одну единственную запись с количеством файлов для каждого каталога/подкаталога (теперь уже столбца). При добавлении файла увеличивать на 1. Тоже как-то не стандартно.

Мб кто чего посоветует?

   
 
 автор: cheops   (01.04.2006 в 23:03)   письмо автору
 
   для: NIK   (01.04.2006 в 17:54)
 

Используйте запрос
SELECT count(*) FROM files GROUP BY cat_id

он вернёт 24 строки с нужными вам значениями.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования