Forum Webscript.Ru
Общие => Базы данных => Тема начата: Rastaman от 29 Ноября 2002, 20:57:31
-
Написал скрипт, он выводит юзеру страницу выполняя при этом приблизительно 200 запросов к БД которые возвращают по 4 цифры которые потом обрабатываются скриптом
и результат выводится на страницу. И вот что-то волнуюсь я за быстроту выполнения. На моем локалхосте примерно секунда а что будет на реальном серваке при большом кол-ве юзеров представить страшно. Всвязи с чем спрашиваю можно ли это дело оптимизировать? Можно конечно данные БД хранить в текстовом файле но тогда потеряется гибкость sql. Может быть писать скрипт на C++?
-
Просто нужно оптимизировать количество запросов, может быть структуру базы, но в общем случае не видя запросы и структуру базы ничего сказать нельзя.
Но 200 запросов на страницу это круто!:))
-
ИМХО 200 запросов говорит не о плохой структуре БД, а об ужаснейшей! Уменьши число запросов.
-
Уменьшить никак нельзя - это что-то типа карты размером
10X10 клеток на каждой картинка выводится в соответствии с хранящимся в БД значением.
Тогда другой вопрос - а если из файлов это дело читать то на много ли быстрее это получится?
-
10X10 клеток на каждой картинка выводится в соответствии с хранящимся в БД значением.
А одним запросом их получить нельзя?
а если из файлов это дело читать то на много ли быстрее это получится?
Попробуй, надо тестировать...
-
если из файлов это дело читать то на много ли быстрее это получится?
вполне возможно.
как вариант - сделай серверное кеширование результатов SQL-запросов.
-
2Tronyx
одним нельзя но можно обойтись десятью правда структура у базы будет не очень красивая
Вот еще вопрос : быстрее 10 запросов вытягивающих по 4 цифры или один - но 40 цифр?
2Макс что есть серверное кэширование?
-
Rastaman
Чего-то мне подсказывает, что можно и одним, просто Вы SQL недостаточно знаете.
Вот еще вопрос : быстрее 10 запросов вытягивающих по 4 цифры или один - но 40 цифр?
Я наверное Вас удивлю, но один, вытаскивающий и 100 цифр тоже будет быстрее, в нормальных условиях.
-
быстрее 10 запросов вытягивающих по 4 цифры или один - но 40 цифр?
Зависит от индексов, размера таблицы и сложности запросов, точный ответ не зная этих трёх факторов дать нельзя.
что есть серверное кэширование?
Посмотри ADODB(http://php.weblogs.com/) это класс для абстрактной работы с БД, там есть и кэширование запросов.
Лично мне он не нравится, т.к. очень много лишнего, да и работу с кэшем можно было сделать гораздо удобней. ИМХО.
-
там есть и кэширование запросов
как варианты - pear :: cache (я не очень его уважаю) или pear :: cache_lite (оптимизирован под текстовые файлы, правда для кеширования SQL-запросов прийдется поработать мозгами и руками).
-
thanx
пойду изучать SQL