|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.02.2017, 17:16 | #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; |
06.02.2017, 18:01 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
delete и update в один запрос объединить невозможно.
update'ы разных таблиц в один запрос объединить тоже весьма проблематично. а зачем Вам объединять несколько запросов в один? В этом нет смысла. Даже выигрыш по скорости будет весьма сомнительный (из за использования операции ИЛИ (OR) - это плохо влияет на скорость выполнения запроса) я же уже не говорю про логику. |
06.02.2017, 18:32 | #3 | |
Пользователь
Регистрация: 06.02.2017
Сообщений: 31
|
Цитата:
|
|
06.02.2017, 20:29 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Ну почему, вот первы три просто просятся в один
PHP код:
PHP код:
|
06.02.2017, 21:08 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Чуть-чуть лучше Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 06.02.2017 в 21:12. |
|
07.02.2017, 01:45 | #6 |
Пользователь
Регистрация: 06.02.2017
Сообщений: 31
|
|
07.02.2017, 07:57 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Могу только предположить, что слишком много записей обновляется в одном запросе и тайм-аут мал для этого
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.02.2017, 11:00 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Tagir93, проверьте, что в таблицах в таблице Group_shini_items есть индекс по полю _cae в таблице product есть индекс по полю cae отсутствие индексов может привести к очень сильному падению производительности, поэтому запрос и выполняется очень долго. |
|
07.02.2017, 13:09 | #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 |
|
07.02.2017, 13:53 | #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 |