![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.02.2017
Сообщений: 31
|
![]()
Добрый день!
Подскажите пожалуйста как объединить несколько запросов в один. Вот мои запросы: 1. DELETE FROM `product` WHERE `recommended-im`=0 2. DELETE FROM product WHERE store=0 3. DELETE FROM product WHERE store=1 4. UPDATE `product` SET `store` = REPLACE( `store` , 'более 40', '40'); 5.UPDATE Group_shini_items, product SET Group_shini_items._balance = product.store WHERE Group_shini_items._cae = product.cae; 6. UPDATE Group_shini_items, product SET Group_shini_items._price = product.`recommended-im` WHERE Group_shini_items._cae = product.cae; |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
delete и update в один запрос объединить невозможно.
update'ы разных таблиц в один запрос объединить тоже весьма проблематично. а зачем Вам объединять несколько запросов в один? В этом нет смысла. Даже выигрыш по скорости будет весьма сомнительный (из за использования операции ИЛИ (OR) - это плохо влияет на скорость выполнения запроса) я же уже не говорю про логику. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 06.02.2017
Сообщений: 31
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,184
|
![]()
Ну почему, вот первы три просто просятся в один
PHP код:
PHP код:
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Чуть-чуть лучше Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 06.02.2017 в 21:12. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 06.02.2017
Сообщений: 31
|
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Могу только предположить, что слишком много записей обновляется в одном запросе и тайм-аут мал для этого
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Tagir93, проверьте, что в таблицах в таблице Group_shini_items есть индекс по полю _cae в таблице product есть индекс по полю cae отсутствие индексов может привести к очень сильному падению производительности, поэтому запрос и выполняется очень долго. |
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 06.02.2017
Сообщений: 31
|
![]() Цитата:
SELECT COUNT( * ) IndexIsThere FROM INFORMATION_SCHEMA.STATISTICS WHERE table_schema = 'shinacar' AND table_name = 'Group_shini_item' AND index_name = '_cae' Показывает сообщение: IndexIsThere 0 |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а если так:
Код:
нужно добавить. p.s. а зачем этот хардкор с запросом из информационной схемы? разве посмотреть в phpMyAdmin не проще? и там же и добавить можно, если индекса нет. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объединить несколько dxf в один | rustam-sh | Фриланс | 1 | 04.12.2015 16:35 |
winsock http несколько запросов за один коннект | Biohazard | Работа с сетью в Delphi | 0 | 07.10.2014 17:16 |
Как правильно объединить несколько одинаковых стилей CSS в один файл? | -=ButCheR=- | HTML и CSS | 1 | 30.10.2010 08:21 |
Как объединить несколько MIDlet-ов в один MIDlet? | RamaR | Общие вопросы по Java, Java SE, Kotlin | 2 | 10.06.2010 22:15 |
Слить-объединить несколько файлов в один | SLP | Microsoft Office Excel | 2 | 19.11.2008 18:13 |