title
Description
Body
Объясните дураку на пальцах о транзакциях!
Желательно с примерами о подробными комментариями и примеры использования...
Поюзал в гугле, почитал, но нифига не понял!
З.ы а то отстал в последнее время от кодинга... нифига толком не делаю! и желания нет
Неактивен
Читаю одну книженцию, понравилось вырожопывание:
"Хорошим тоном является выполнять запросы внутри транзакции, то есть сказать серверу предварительно «Эй, я собираюсь выполнить один или несколько запросов», затем передать сами запросы, и в итоге сказать «Я закончил передавать запросы, теперь выполни их!»"
Неактивен
Судя потому что я узнал, то:
|
|
Неактивен
ну основная польза - это целостность данных. например, сначала у нас идет 2 инсерта подряд, в теории может пройти 1 инсерт, а во втором произойти какая-то ошибка, в случае с транзакциями, мы сможем откатить и 1 инсерт. без транзакций мы бы получили мусор в БД.
так же, если, например, в цикле выполняется много апдейтов. помимо того, что мы так же сможем все их откатить в случае ошибки, мы получаем выигрыш в производительности, т.к. физически запись занных на диск присходит только при коммите. реально это на моей практике давало огромный выигрыш на Sqlite БД.
Неактивен
Понятно! а что с моим примером? ему стоит место быть?
Gemorroj написал:
ну основная польза - это целостность данных. например, сначала у нас идет 2 инсерта подряд, в теории может пройти 1 инсерт, а во втором произойти какая-то ошибка, в случае с транзакциями, мы сможем откатить и 1 инсерт. без транзакций мы бы получили мусор в БД...
И еще! вот хотим мы выполнить транзакцию, но что лучше делать? и в чем будет разница?
|
|
|
|
Неактивен
Nu3oN написал:
и в чем будет разница?
разница между чем и чем?
вообще я бы делал так
|
|
$dbh, соответственно, должен бросать эксепшн, если что-то пошло не так.
Неактивен