Задавайте вопросы, мы ответим
Вы не зашли.
Допустим несколько пользователей одновременно хотят вставить даные(Insert) в таблицу что нужно сделать чтобы несколько запросов запущенных одновременно выполнились корректно
Неактивен
Специально ничего делать не нужно.
В MySQL используется механизм блокирования, который корректно обрабатывает одновременные обращения.
В результате запросы встанут в очередь и будут выполняться один за другим, не перекрываясь.
Подробнее см. http://dev.mysql.com/doc/refman/5.1/en/lock-tables.html
В случае использования механизма хранения InnoDB реализуется еще более гибкая политика - транзакции, основанные на мультиверсионности таблиц, что зачастую позволяет полностью развести запросы к одной таблице, идущие к разным ее строкам, а также одновременные INSERT'ы.
Подробнее об этом см. http://dev.mysql.com/doc/refman/5.1/en/ … model.html
Неактивен
Немного о блокировках в MySQL
Чтение блокирует запись, но не другое чтение
Запись блокирует и запись и чтение
Блокировка может быть явная или неяная:
1) неявно устанавливает сервер на время выполнения одного выражения. Уровень блокировки зависит от хранилища:
-) MyISAM, MEMORY, MERGE -- table level
-) BDB -- page level
-) InoDB -- row level
2) явно (LOCK TABLES, UNLOCK TABLES) указывает клиент. Блокировка уровня table.
Для блокировки уровня таблицы не может возникнуть "deadlock" за исключением использования курсоров.
Для явной блокировки выгрыш производительности за счет однократного назначения блокировки и отключения перестройки индексов на время блокировки.
Указывается имя таблицы и тип блокировки:
Неактивен
Блокировки в отрыве от транзакций возможно осветить только для MyISAM.
Если статья планируется исчерпывающая, необходимо наглядно показать как работают транзакции и как влияют на их работу уровни изоляции.
Следующий вопрос - какая целевая аудитория?
Если новички, то по моему нужно иллюстрировать простыми и наглядными примерами. Что-то вроде того что в конце топика
http://www.php.ru/forum/viewtopic.php?p … ght=#98118
А еще лучше для них комикс. Это самое наглядное объяснение работы join, которое я видел
http://www.codinghorror.com/blog/archives/000976.html
Транзакции за собой тянут шлейф. Необходимо описание обработки ошибок ...
А если на сервере первичную обработку делать, то лучше это в ХП ...
Короче книжка получается.
Неактивен