|
|
|
| Здравствуйте!
Вот такая проблема, хостер заблокировал сайт, ссылаясь на то, что мои запросы сильно грузят сервер. Потребовал упростить запросы. Как это сделать, на мой взгляд запросы и так не сложные. Вот для примера несколько запросов:
SELECT * FROM banners WHERE tip='S' AND page='S' AND shows='S' LIMIT N;
этот запрос выбирает из базы баннер(название) который будет показан, в зависимости от страницы, типа и количества показов.
SELECT min(shows) FROM banners WHERE tip='S' AND page='S' LIMIT N;
этот запрос выбирает баннер для выбранной страницы с минимальным количеством показов.
SELECT* FROM worknakhodka WHERE tip='S' ORDER by rand() LIMIT N;
этот запрос выбирает вакансии из базы в зависимости от типа. | |
|
|
|
|
автор: xx7 (12.01.2009 в 04:04) |
|
|
для: Mefisto84
(12.01.2009 в 03:08)
| | последний подозрительный :)
наверное вакансий много , а тут ещё ORDER by rand()
и колличество показов ещё наверное тут-же добавляется ,)
сколько всего запросов выполняется за один запрос страницы , много-ли данных в таблицах ? | |
|
|
|
|
|
|
|
для: Mefisto84
(12.01.2009 в 03:08)
| | Проще уже некуда... Я бы рекомендовал кэшировать их результаты. | |
|
|
|
|
|
|
|
для: Mefisto84
(12.01.2009 в 03:08)
| | Что такое 'S' ?
Индексы на каких-либо столбцах стоят? | |
|
|
|
|
|
|
|
для: Trianon
(12.01.2009 в 12:15)
| | to xx7: вакансий не много, около 200 штук.
to Loki: как кешировать результаты?
to Trianon: S - это ничего, это просто как пример. На счет индексов не знаю, как это можно проверить? На какие столбцы их поставить? | |
|
|
|
|
|
|
|
для: Mefisto84
(13.01.2009 в 02:19)
| | Это довольно странный пример для столбца, по которому нужно считать минимум.
Как узнать? Спросить у того, кто придумывал схему этой БД.
По большому счету - вся задача этого человека. | |
|
|
|