Автор Тема: оптимизация  (Прочитано 4099 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rastaman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
оптимизация
« : 29 Ноября 2002, 20:57:31 »
Написал скрипт, он выводит юзеру страницу выполняя при этом приблизительно 200 запросов к БД которые возвращают по 4 цифры которые потом обрабатываются скриптом
и результат выводится на страницу. И вот что-то волнуюсь я за быстроту выполнения. На моем локалхосте примерно секунда а что будет на реальном серваке при большом кол-ве юзеров представить страшно. Всвязи с чем спрашиваю можно ли это дело оптимизировать? Можно конечно данные БД хранить в текстовом файле но тогда потеряется гибкость sql. Может быть писать скрипт на C++?
Джа даст нам все!

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
оптимизация
« Ответ #1 : 29 Ноября 2002, 22:12:18 »
Просто нужно оптимизировать количество запросов, может быть структуру базы, но в общем случае не видя запросы и структуру базы ничего сказать нельзя.
Но 200 запросов на страницу это круто!:))
2B OR NOT 2B = FF

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
оптимизация
« Ответ #2 : 29 Ноября 2002, 23:01:35 »
ИМХО 200 запросов говорит не о плохой структуре БД, а об ужаснейшей! Уменьши число запросов.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Rastaman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
оптимизация
« Ответ #3 : 30 Ноября 2002, 15:58:16 »
Уменьшить никак нельзя - это что-то типа карты размером
10X10 клеток на каждой картинка выводится в соответствии с хранящимся в БД значением.
Тогда другой вопрос - а если из файлов это дело читать то на много ли быстрее это получится?
Джа даст нам все!

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
оптимизация
« Ответ #4 : 30 Ноября 2002, 16:26:38 »
Цитировать
10X10 клеток на каждой картинка выводится в соответствии с хранящимся в БД значением.

А одним запросом их получить нельзя?

Цитировать
а если из файлов это дело читать то на много ли быстрее это получится?

Попробуй, надо тестировать...
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
оптимизация
« Ответ #5 : 30 Ноября 2002, 16:27:26 »
Цитировать
если из файлов это дело читать то на много ли быстрее это получится?
вполне возможно.
как вариант - сделай серверное кеширование результатов SQL-запросов.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Rastaman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
оптимизация
« Ответ #6 : 30 Ноября 2002, 20:57:26 »
2Tronyx
одним нельзя но можно обойтись десятью правда структура у базы будет не очень красивая

Вот еще вопрос : быстрее 10 запросов вытягивающих по 4 цифры или один - но 40 цифр?

2Макс что есть серверное кэширование?
Джа даст нам все!

Оффлайн Дмитрий Попов

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 264
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.programmist.spb.ru
оптимизация
« Ответ #7 : 30 Ноября 2002, 21:16:21 »
Rastaman
Чего-то мне подсказывает, что можно и одним, просто Вы SQL недостаточно знаете.

Цитировать
Вот еще вопрос : быстрее 10 запросов вытягивающих по 4 цифры или один - но 40 цифр?

Я наверное Вас удивлю, но один, вытаскивающий и 100 цифр тоже будет быстрее, в нормальных условиях.
 За Родину! За Россию!
SendMail для любого хостинга.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
оптимизация
« Ответ #8 : 30 Ноября 2002, 21:19:28 »
Цитировать
быстрее 10 запросов вытягивающих по 4 цифры или один - но 40 цифр?

Зависит от индексов, размера таблицы и сложности запросов, точный ответ не зная этих трёх факторов дать нельзя.

Цитировать
что есть серверное кэширование?

Посмотри ADODB(http://php.weblogs.com/) это класс для абстрактной работы с БД, там есть и кэширование запросов.
Лично мне он не нравится, т.к. очень много лишнего, да и работу с кэшем можно было сделать гораздо удобней. ИМХО.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
оптимизация
« Ответ #9 : 01 Декабря 2002, 01:13:58 »
Цитировать
там есть и кэширование запросов
как варианты - pear :: cache (я не очень его уважаю) или pear :: cache_lite (оптимизирован под текстовые файлы, правда для кеширования SQL-запросов прийдется поработать мозгами и руками).
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Rastaman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
оптимизация
« Ответ #10 : 01 Декабря 2002, 11:33:58 »
thanx
пойду изучать SQL
Джа даст нам все!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28