Size: a a a

2018 October 14

SB

Serhii Babich in PHP 🐘 Chat
Александр
В общем я собираю данные в массивы. Например выборка элементов, которым нужно изменить статус.
То есть беру условно 20 строк таблицы, меняю статус 10ти из них. Значит мне нужно сделать 10 запросов в php, чтобы обновить 10 строк в таблице sql. Но думается мне, что все же есть способ обрабатывать из php несколько строк одним запросом.
ага, понял ща напишу
источник

А

Александр in PHP 🐘 Chat
Ihor Romanyshyn
На Пітоні я б можливо генерував великі запити по кілька сотень рядків і запускав би по черзі. Ну хз...
Питоном займусь, как в php начну себя уверенно чувствовать. Пока только месяц самоучения php. Так что это позже)
источник

А

Александр in PHP 🐘 Chat
Ihor Romanyshyn
На Пітоні я б можливо генерував великі запити по кілька сотень рядків і запускав би по черзі. Ну хз...
Хотя мне кажется что на питоне проще как раз таки сгенерировать файл.sql и выполнить его
источник

IR

Ihor Romanyshyn in PHP 🐘 Chat
Александр
Хотя мне кажется что на питоне проще как раз таки сгенерировать файл.sql и выполнить его
Ну так
источник

SB

Serhii Babich in PHP 🐘 Chat
Александр
В общем я собираю данные в массивы. Например выборка элементов, которым нужно изменить статус.
То есть беру условно 20 строк таблицы, меняю статус 10ти из них. Значит мне нужно сделать 10 запросов в php, чтобы обновить 10 строк в таблице sql. Но думается мне, что все же есть способ обрабатывать из php несколько строк одним запросом.
смотри, много инсертов - это не плохо, а даже и хорошо.
вариант как сделать что ты говоришь - есть и он какбы на стороне sql.
например, думаю, ты про mysql

1) то есть такое выражение CASE
тоесть, ты делаешь условия
WHERE
если айди = 1, то  такомуто полю будет такоето значение.
вообщем, прочитай про switch case - это не сложно.

2) второй способ - это INSERT … ON DUPLICATE KEY UPDATE moe_pole
источник

А

Александр in PHP 🐘 Chat
Вот второй вариант мне кажется ближе. Спасибо за подсказку
источник

SB

Serhii Babich in PHP 🐘 Chat
Александр
Хотя мне кажется что на питоне проще как раз таки сгенерировать файл.sql и выполнить его
если так говоришь, то значит ты не слушал сегодняшнюю лекцию.
все языки одинаково мощные.
источник

А

Александр in PHP 🐘 Chat
Serhii Babich
если так говоришь, то значит ты не слушал сегодняшнюю лекцию.
все языки одинаково мощные.
Я не про мощность. Суть в том, чтобы минимизировать количество запросов к БД и снять с сервера нагрузку
источник

SB

Serhii Babich in PHP 🐘 Chat
Александр
Вот второй вариант мне кажется ближе. Спасибо за подсказку
там еще неявный 0ой вариант - твой.
это не плохо.
База для того и база, чтобы к ней делались кучи запросов и это все работало и хранилось
источник

SB

Serhii Babich in PHP 🐘 Chat
Александр
Я не про мощность. Суть в том, чтобы минимизировать количество запросов к БД и снять с сервера нагрузку
меньше запросов != меньше нагрузка
источник

А

Александр in PHP 🐘 Chat
Serhii Babich
там еще неявный 0ой вариант - твой.
это не плохо.
База для того и база, чтобы к ней делались кучи запросов и это все работало и хранилось
Тоже верно, но а если таких запросов будет десятки тысяч одновременно. Не ляжет ли сервер?
источник

А

Александр in PHP 🐘 Chat
Serhii Babich
меньше запросов != меньше нагрузка
Почему?
источник

SB

Serhii Babich in PHP 🐘 Chat
ну типо нужно читать и разбиратся - как работает база для этого.

представь что это кухня в какомто ресторане. и повару приносят и накалывают на шпажку заказы

если иму принесут 100 штук сразу или по одной раз в минуту, ему всеравно прийдется сделать 100штук. независимо как быстро они появились
источник

А

Александр in PHP 🐘 Chat
Serhii Babich
ну типо нужно читать и разбиратся - как работает база для этого.

представь что это кухня в какомто ресторане. и повару приносят и накалывают на шпажку заказы

если иму принесут 100 штук сразу или по одной раз в минуту, ему всеравно прийдется сделать 100штук. независимо как быстро они появились
Да, но ведь повар может забрать все заказы сразу и ими заниматься. Тогда ему не придется тратить время и силы на то, чтобы ходить за каждым заказом отдельно. Ведь так?
источник

SB

Serhii Babich in PHP 🐘 Chat
не нужно сравнивать нагрузку при запросе от клиента на сервер и при запросе на одном сервере между двумя разными процессами, это совсем разные нагрузки и сложности
источник

А

Александр in PHP 🐘 Chat
Хорошо. Убедил. Оставлю пока в цикле. Закончу приложение, протестирую и там уже будет понятно, на что способен сервер
источник

IR

Ihor Romanyshyn in PHP 🐘 Chat
А таки ще одна штука. Якщо у вас кожен запит окремо і стається фейл, то не страждає решта, а тільки цей один запит.
источник

SB

Serhii Babich in PHP 🐘 Chat
Александр
Да, но ведь повар может забрать все заказы сразу и ими заниматься. Тогда ему не придется тратить время и силы на то, чтобы ходить за каждым заказом отдельно. Ведь так?
как бы ты тут прав.
он получит все запросы.
но ничего нет на 100% асинхронного.
и какбы всеравно оно в итоге видимого выиграша не будет.

а вот огромный запрос плохо, что если будет строчка заблокирована для инсерта или произойдет чтото не так, ты не узнаешь - с каким именно запросом это произошло
источник

SB

Serhii Babich in PHP 🐘 Chat
Ihor Romanyshyn
А таки ще одна штука. Якщо у вас кожен запит окремо і стається фейл, то не страждає решта, а тільки цей один запит.
о, почти что я сказал
источник

SB

Serhii Babich in PHP 🐘 Chat
Игорь прав 100%
источник