SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.04.2008 00:44:16

gregzem
Участник
Зарегистрирован: 02.07.2007
Сообщений: 10

Долго выполняется запрос

В продолжение вот этой темы получился вот такой запрос. Точнее два: один для извлечения позиций выбранной страницы, второй - для получения кол-ва страниц. При 3000 записей выполняется на среднем хостинге порядка 25 секунд, что очень и очень долго. Можно ли как-то ускорить обработку?

Код:

SELECT *, IF (Currency='1', Price * 1, IF (Currency='2', Price * 34.81, Price * 25.84)) as Price FROM mytable WHERE Active='1' AND Approved='1' AND Folder='2' AND ID IN (SELECT CustomFormValueAdvID FROM CustomFormValue WHERE (CustomFormValueName='cf5' AND CustomFormValueValue LIKE '%;1;%2;%3;%4;%')) AND ID IN (SELECT CustomFormValueAdvID FROM CustomFormValue WHERE (CustomFormValueName='cf6' AND CustomFormValueValue='1')) AND Time >= '955917166' AND (((Price BETWEEN 0 AND 4294967295) AND Currency='1') OR ((Price BETWEEN 0 AND 4294967295) AND Currency='2') OR ((Price BETWEEN 0 AND 4294967295) AND Currency='3')) ORDER BY Special DESC, Selected DESC, Price asc LIMIT 0,30


SELECT count(ID) FROM mytable AS rows_number WHERE Active='1' AND Approved='1' AND Folder='2' AND ID IN (SELECT CustomFormValueAdvID FROM CustomFormValue WHERE (CustomFormValueName='cf5' AND CustomFormValueValue LIKE '%;1;%2;%3;%4;%')) AND ID IN (SELECT CustomFormValueAdvID FROM CustomFormValue WHERE (CustomFormValueName='cf6' AND CustomFormValueValue='1')) AND Time >= '955917166' AND (((Price BETWEEN 0 AND 4294967295) AND Currency='1') OR ((Price BETWEEN 0 AND 4294967295) AND Currency='2') OR ((Price BETWEEN 0 AND 4294967295) AND Currency='3'))

Готов дать разъяснения, если потребуется, что есть что.

Неактивен

 

#2 15.04.2008 18:36:40

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Долго выполняется запрос

Приведите пожалуйста структуру таблицы (SHOW CREATE TABLE) и результат EXPLAIN на указанные запросы

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson