Реклама на сайте Advertise with us

База MySQL в скрипте PhpAdsNew и индексы

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 15.07.05
Сообщения: 1144
Рейтинг: 905

Ссылка на сообщениеДобавлено: 16/03/07 в 18:27       Ответить с цитатойцитата 

Возникла проблема в том что некоторые(возможно все) запросы не проиндексированные. Отсюда идет большая нагрузка на mysql и соответсвенно на сервер.

Кто нибудь сталкивался с этой проблемой? Какой выход из этой ситуации?

Очень мало верится что такая известная программа и так коряво работает с mysql .

Огромное спасибо за ранее за помощь в этой проблеме.

Платят за просмотры*********** профита********Выкупают ВСЕ********

0
 



С нами с 25.08.05
Сообщения: 313
Рейтинг: 231

Ссылка на сообщениеДобавлено: 16/03/07 в 19:57       Ответить с цитатойцитата 

Ничего не понял )
опиши проблему поподробнее

3
 



С нами с 15.07.05
Сообщения: 1144
Рейтинг: 905

Ссылка на сообщениеДобавлено: 16/03/07 в 20:18       Ответить с цитатойцитата 

При запросах делается сканирование всей таблицы вместо использования индексов

Пример:

SELECT
phpads_banners.bannerid as bannerid,
phpads_banners.clientid as clientid,
phpads_banners.priority as priority,
phpads_banners.contenttype as contenttype,
phpads_banners.storagetype as storagetype,
phpads_banners.width as width,
phpads_banners.height as height,
phpads_banners.block as block,
phpads_banners.capping as capping,
phpads_banners.compiledlimitation as compiledlimitation
FROM
phpads_banners
WHERE
phpads_banners.priority > 0 AND phpads_banners.width = 200 AND phpads_banners.height = 150 AND phpads_banners.storagetype <> 'txt' AND ( phpads_banners.clientid='276' OR phpads_banners.clientid='279' OR phpads_banners.clientid='278' OR phpads_banners.clientid='280' OR phpads_banners.clientid='274' OR phpads_banners.clientid='275' OR phpads_banners.clientid='271' OR phpads_banners.clientid='272' OR phpads_banners.clientid='284' OR
phpads_banners.clientid='299' OR phpads_banners.clientid='335' OR phpads_banners.clientid='337' ) |

этот запрос не проиндексирован

Платят за просмотры*********** профита********Выкупают ВСЕ********

0
 



С нами с 26.06.06
Сообщения: 46
Рейтинг: 20

Ссылка на сообщениеДобавлено: 16/03/07 в 20:31       Ответить с цитатойцитата 

Ну так добавь индексы.
ЗЫ: индексируют поле, а не запрос.

3
 



С нами с 01.03.06
Сообщения: 629
Рейтинг: 620

Ссылка на сообщениеДобавлено: 17/03/07 в 03:24       Ответить с цитатойцитата 

как вариант - укажи жестко какие индексы мускулю использовать при выполнении данного запроса - т.к. не всегда бд выбирает оптимальный вариант и иногда все же запутывается при построении плана... но имхо переборы в данном запросе всерано будет - не всей таблицы конечно - но будет...

4
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 17/03/07 в 07:22       Ответить с цитатойцитата 

Bross писал:
Возникла проблема в том что некоторые(возможно все) запросы не проиндексированные. Отсюда идет большая нагрузка на mysql и соответсвенно на сервер.

Кто нибудь сталкивался с этой проблемой? Какой выход из этой ситуации?

Очень мало верится что такая известная программа и так коряво работает с mysql .

Огромное спасибо за ранее за помощь в этой проблеме.


Во-первых ты пишешь бред, а выход оптимизровать запросы и выставить правильные индексы для этих запросов.

0
 



С нами с 29.12.06
Сообщения: 62
Рейтинг: 84

Ссылка на сообщениеДобавлено: 17/03/07 в 19:24       Ответить с цитатойцитата 

Все (как всегда) просто)
1. юзай mysqladmin processlist или mytop, ищи запросы которые грузят.
2. по найденным запросам ЕСЛИ это селекты к примеру, смотри что там в запросе идет после where, потом
show indexes from TABLE;
смотриш есть ли этот индекс, если нет - создаешь
create index INDEX_NAME on TABLE(FIELD1,FIELD2);
если это инсерты, то наоборот - ищи лишние индексы, т.к. нужно перестраивать табицу индексов при каждом инсерте, и дропай.

5
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 18/03/07 в 12:32       Ответить с цитатойцитата 

можно и не дропать, а сделать например для myisam :

Цитата:
REPAIR TABLE table QUICK

2
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17156
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 18/03/07 в 14:59       Ответить с цитатойцитата 

Эту известную супер софтину писали какие то бля индийские студенты недоделаные. Неудивительно что она глючит, в ней куча дырок и вообще взлом phpadsnew это вопрос времени.

По теме сабжа - подобные запросы нужно индексировать в индивидуальном порядке, т.к. предусмотреть все варианты WHERE нельзя в этом случае.

Включай slow query log или лог запросов без индексов и шамань.

5
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »