Программирование > Perl
Много insert / update
commander:
Harvester
значительнее... поройся... где-то на форуме были бейчмарки..
Yaroslav:
может я не так понял, но "Можно ли много запросов в одну строку запихнуть?"
$dbh->do("UPDATE user SET login=".$dbh->quote($login).", mail=".$dbh->quote($mail).", pass=". $dbh->quote($pass).", code=".$dbh->quote($code)." WHERE login=".$dbh->quote($login)." OR mail=".$dbh->quote($mail));
WebZ:
По поводу prepare и do скажу, что если передаются данные от пользователя, куда лучше делать через prepare и переменные втаскивать в execute для исключения возможных sql-инжектов + это не требует дополнительных проверок на все это дело
По поводу update- нужно пояснить, то должен делать скрипт. INSERT по умолчанию добавляет одну строку, а update в то время обновляет все строки по "WHERE", т е уже работает со всеми даннами в условиями.
Что является целью?
Обновить разные данные в разных таблицах? (сделать несколько разных update запросов)
Или заменить разные поля с совершенно разными условиями?
Или что-то еще?
ravshaniy:
согласен с Webz. вопрос *зачем это нужно?* весьма актуальный.
Если Вы конешно не человек-тестер.
и Примите во внимание, что таблица будет заблокирована на период обновлений
в зависимости от задачи можно было бы продумать и использовать внутреннии утилиты или сервисы репликации бд
а кстати какая бд используется?
множественный инсерт в Мускуле есть. по апдейту тоже согласен с Webz
Harvester:
Решение было найдено, просто надобность пока отпала... вернусь к этому вопросу когда будет время :(
Меня здесь главным образом интересовала скорость update/insert. База - мускл.
По поводу "зачем это"? Затем, чтобы попробовать загрузить базу - более десятка миллионов записей в табличку под 50 полей. Чтобы потом оперировать данными;) Чисто проверить практику, посомтреть время и тд, чтобы понять стоит ли возиться с такими объемами и какие ресурсы это будет кушать :insane:
2 Yaroslav
см. мой первый пост первый запрос. Там в одном prepare/do "виртуально" формируется несколько update.
Навигация
Перейти к полной версии