Мастера SQL, помогите

12
siv1987
На сайте с 02.04.2009
Offline
427
#11
Благодарю, запрос переделал, стал работать быстрее, хотя все равно, далеко до идеала...

Смотрите индекс по используемым полям в where, дальше в упираетесь только в производительности селекта по используемым полям. Возможно нужно создать составной индекс, возможно переделать структуру какого-то индекса чтобы он покрывал поля из where.


Возник еще вопрос, что посоветуете со следующим запросом?

Советуем не использовать километровые псевдонимы таблиц. Одна буква куда нагляднее чем название из стопиццот символов каким бы оно небыло информативным - запрос превращается в портянку.

imbalance
На сайте с 03.03.2007
Offline
240
#12

Спасибо за помощь.

Подскажите относительно данного запроса

Select id, category, title, alt_name, date, flag from dle_post where category = 0 AND approve = 1 AND date < "2015-01-16 11:08:03" order by date DESC limit 0,5

какой индекс лучше использовать?

составной из всех трех полей ?

siv1987
На сайте с 02.04.2009
Offline
427
#13

Составной по всем трем полям. Только не переборщить с индексами, нужно оценивать на сколько оправдано использование индекса, если запрос выполняется в админке раз в месяц за 3 секунды добавлять новый индекс не имеет смысла.

imbalance
На сайте с 03.03.2007
Offline
240
#14
siv1987:
Составной по всем трем полям. Только не переборщить с индексами, нужно оценивать на сколько оправдано использование индекса, если запрос выполняется в админке раз в месяц за 3 секунды добавлять новый индекс не имеет смысла.

индексы могут отрицательно повлияет на работоспособность БД? Или основная загвоздка в ресурсах (размер)?

Просто запросов разных очень много (много различных модулей на сайте и т.п.), и пока именно создание индексов помогают исправить ситуацию

---------- Добавлено 16.01.2015 в 18:54 ----------

что-то не очень помог составной индекс

CREATE INDEX category_approve_date

ON dle_post(category,approve,date)

запрос все равно очень медленно работает :(

nezabor
На сайте с 19.07.2010
Offline
152
#15
Ladycharm:
Устанавливаете бесплатную замечательную программу HeidiSQL

я конечно офтопну но уменя от этой лабуды 2 базы посыпалось и я больше не эксперементировал

Чудес не бывает...
siv1987
На сайте с 02.04.2009
Offline
427
#16
imbalance:
запрос все равно очень медленно работает

EXPLAIN SELECT приведите и CREATE TABLE. Возможно имеет смысл сначала дернуть первичный ключ.

imbalance:
индексы могут отрицательно повлияет на работоспособность БД?

Да. Чем больше индексов тем тяжелее обновляется таблица.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий