Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 25
1

Запрос выполняется очень долго

22.06.2015, 09:54. Показов 3080. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помагите оптимизировать запрос. Выполняется бесконечно долго (Запрос занял 95.9257 сек.)
MySQL
1
2
SELECT sklad.* FROM sklad LEFT JOIN prodal ON sklad.id_ttn=prodal.id_ttn 
WHERE prodal.id_ttn IS NULL AND sklad.status=2
Нужно выбрать все записи в таблице sklad имеющие статус 2, но отсутствующие в таблице prodal.
Связь по ключам id_ttn (в обоих таблицах одинаковые)

Запрос писал по примеру вот отсюда.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2015, 09:54
Ответы с готовыми решениями:

Долго выполняется запрос к БД
Добрый день. Есть в БД табличка с 192 полями, в ней может быть около 100 тыс. записей. запрос...

SELECT.WHERE.NOT IN – очень долго
Здравствуйте! Имеются таблицы users и photos. users – более 2 миллионов строк. photos – более 250...

Не выполняется запрос
всем привет! Подскажите пожалуйста, почему не выполняется такой запрос? SELECT `UserID` AS `ID`...

Не выполняется запрос
Друзья, помогите разобраться. Не выполняется полностью запрос: SELECT * FROM data WHERE...

3
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
22.06.2015, 10:40 2
Вряд-ли поможет, но попробовать можно
MySQL
1
2
3
4
SELECT sklad.*
FROM sklad 
WHERE (SELECT COUNT(*) FROM prodal WHERE sklad.id_ttn = prodal.id_ttn) = 0
           AND sklad.status=2
0
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 25
22.06.2015, 10:43  [ТС] 3
Ну них...я себе!

Пасаны, индексы это пипец как руто!!!
Проиндексировал prodal.id_ttn и запросы выполнился знаете за сколько? Знаете? Неееет?
(Запрос занял 0.0610 сек.)

Ну я тащусь от это mysql
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
22.06.2015, 10:56 4
MySQL
1
2
3
SELECT sklad.* FROM sklad 
where sklad.status=2
  and not exists(select 1 from prodal where prodal.id_ttn=sklad.id_ttn)
индексы на sklad:
primary key(id_ttn), key(status), или просто KEY(status, id_ttn), если id_ttn - не РК
индексы на prodal:
key(id_ttn)
0
22.06.2015, 10:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2015, 10:56
Помогаю со студенческими работами здесь

Не выполняется запрос
Когда я отправляю, ниже написанный запрос MySQL: INSERT INTO new_vest(title,author,date,clComm)...

Не выполняется TRANSACTION запрос
Не выполняется данный запрос: $res = mysql_query("START TRANSACTION; UPDATE Variants SET...

Не выполняется запрос UPDATE
$usrd=mysql_query("SELECT * FROM mes_user_razd WHERE user_id_r='$user', ser_id_u='$id_s'"); if...

Не выполняется запрос в mysql
В базе есть таблица pvt_messages такого вида, SELECT * FROM pvt_messages WHERE id_user_from=2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru