Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2015, 08:07   #1
Seregakz
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 14
По умолчанию Оптимизация запроса sql

Народ посдкажите как можно оптимизировать запрос!?
В бд 500к записей, выполняется нереально долго:

PHP код:
delete from site_items where id not in (  SELECT FROM 
                                 
select  max(id)   from   site_items group by  number
                                   
) AS 
Seregakz вне форума Ответить с цитированием
Старый 20.02.2015, 09:05   #2
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

во первых убрать лишний запрос SELECT * FROM
во вторых чтобы что-то сказать надо знать что к чему
lomastr_ вне форума Ответить с цитированием
Старый 20.02.2015, 10:38   #3
Seregakz
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
во первых убрать лишний запрос SELECT * FROM
во вторых чтобы что-то сказать надо знать что к чему
Смысл такой ишем последнии добавленые товары группируем, получаем ID. Оставялем только эти ID другие удаляем
Seregakz вне форума Ответить с цитированием
Старый 20.02.2015, 10:43   #4
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

смысл виден в запросе, структура не видна
lomastr_ вне форума Ответить с цитированием
Старый 20.02.2015, 10:51   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Что за СУБД? Может стоит предварительно создавать временную таблицу с максимальными id и индексом по нем. И в удалении вложенный запрос по временной таблице
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.02.2015, 11:37   #6
Seregakz
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Что за СУБД? Может стоит предварительно создавать временную таблицу с максимальными id и индексом по нем. И в удалении вложенный запрос по временной таблице
Можно пример?

Mysql
Seregakz вне форума Ответить с цитированием
Старый 20.02.2015, 12:39   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Пример чего? Гуглишь создание временных таблиц mysql, аналогично создание индекса и удаление временной таблицы. Насколько это плохо для мускула не в курсе
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.02.2015, 14:25   #8
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Можно проиндексировать поле number, но вначале нужно посмотреть план запроса.
Vapaamies вне форума Ответить с цитированием
Старый 21.02.2015, 07:15   #9
Seregakz
Пользователь
 
Регистрация: 21.05.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Пример чего? Гуглишь создание временных таблиц mysql, аналогично создание индекса и удаление временной таблицы. Насколько это плохо для мускула не в курсе
Нужен пример так как не знаю на каком этапе создавать
Seregakz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация запроса russian-stalker SQL, базы данных 1 11.10.2011 13:17
оптимизация sql-запроса Vetra SQL, базы данных 0 20.07.2011 13:36
оптимизация запроса pray_driver SQL, базы данных 3 13.12.2010 15:40
Оптимизация SQL запроса Phantom SQL, базы данных 4 24.09.2009 16:07
Оптимизация sql запроса в хп eda SQL, базы данных 3 28.07.2009 11:57