Транзцакции в MySQL

demis

Новичок
Транзцакции в MySQL

Здравствуйте.
У меня такой вопрос. Я разрабатываю систему электронных книг. Там где-то 500 мб текста будет. 20 человек забивать одновременно базу будут. Нужны транзакции. Есть ли они в MySQL? И вообще, выдержит MySQL 500 мб?
 

demis

Новичок
ну значит что есть компьютерная сеть, вот там люди сидят и одновременно вбивают эти тексты.
А что причем в моем случае?
 

demis

Новичок
а какже, как в теории, типа могут быть баги при одновременном занесении в базу инфы. Для этого и придумали транзакции. Или для чего они существуют?
 

Tn

Guest
В твоём случае это не нужно. Транзакции были бы важны при очень частых обновлениях/удалениях связанных между собой данных
 

HEm

Сетевой бобер
транзакции нужны, если у тебя там идет работа с одними и теми же текстами, а они работают каждый со своим
 

Romantik

TeaM PHPClub
HEm
работа с одними и теми же текстами
Транзакции тут не причем
транзакции нужны когда у тебя за один сеанс идет несколько INSERT, UPDATE или DELETE И в случае сбоя, откатить все назад
 

wrapper

Guest
Romantik
и это по твоему единственное предназначение транзакций, да? а когда несколько пользователей редактируют одну и ту же запись практически одновременно, то они тут ни при чем?
 

wrapper

Guest
пример:
есть некая запись, значение - 1
заходит user1 и меняет ее на значение 2: 1->2
практически одновременно заходит user2 и изменяет: 1->3
в результате значение 2 теряется.
а если бы они работали в транзакциях то изменение 1->3 не состоялось бы потому что изменились исходные данные.

ЗЫ
это из принципа работы транзакций. конкретно в MySQL я ими не пользовался. так что могу ошиибаться.
 

ForJest

- свежая кровь
wrapper
твой вариант не подходит, для этой задачи. Потому что это будет два сеанса с БД для каждого редактирования
1. - получение текста для редактирования
2. - занесение отредактированного текста.
----
В дополнение к тому, что сказано в документе, ссылку на который привёл HEm можно посоветовать только хранить контрольную сумму или md5 хэш текста для сверки условий.
 

lucas

Guest
demis

Попробуй поискать по форуму.
Насколько я помню, проблема совместного редактирования обсуждалась по меньшей мере дважды.

Простейшее решение:
1. При начале редактирования запомнили дату редактирования документа.
2. При записи проверили, изменилась ли она.
3. Если да -- сохранили редакцию документа в отдельном месте + вывели сообщение.
4. Если нет -- перезаписали документ.

-~{}~ 22.06.04 19:50:

+ можно заюзать автоматическое обновление полей timestamp в MySQL.
 
Сверху