Задавайте вопросы, мы ответим
Вы не зашли.
здравствуйте, допустим есть комментарии работающие по принципу nested sets, если юзер откроет страницу с комментариями в то время как ктото будет добавлять данные, он может увидеть некорректную информацию. запросы выполняются поочередно или многопоточно? если многопоточно то что делать чтобы все запросы выполнились правильно? спасибо
Неактивен
Здравствуйте.
Запросы выполняются многопоточно, но несогласованные данные Вы никогда не
увидите: во время изменения данных используются различные способы поддержа-
ния согласованности. Таблицы типа MyISAM блокируются при записи (т.е. никто
не сможет во время записи их читать). Таблицы InnoDB поддерживают транзак-
ции, поэтому Вы сможете читать данные даже во время записи. То, какие данные
Вы увидите, зависит от уровня изоляции транзакции читающего запроса. По
умолчанию — REPEATABLE READ (т.е. Вы видите одни и те же данные вне зависи-
мости от того, что делают другие потоки — до завершения транзакции).
Неактивен
а если ктото добавляет то у того кто читает будет мини задержка и потом выполнится и его запрос или вернет ошибку?
Неактивен
В случае MyISAM — читатели некоторое время подождут, да. В случае InnoDB
читателям отдастся предыдущая (до изменений) версия данных во время записи,
и уже новая после полного окончания записи.
Неактивен
я недавно перешел полностью на MyISAM изза медленных запросов, правильно поступил?
Неактивен
Всё зависит от типа нагрузки. При росте количества запросов InnoDB справляется,
как правило, лучше. Кроме случая, когда у Вас вообще нет записи
Неактивен