SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.02.2011 01:53:02

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

очередность запросов

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

Неактивен

 

#2 08.02.2011 02:54:47

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: очередность запросов

Здравствуйте.

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

Неактивен

 

#3 08.02.2011 07:29:36

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

Re: очередность запросов

а если ктото добавляет то у того кто читает будет мини задержка и потом выполнится и его запрос или вернет ошибку?

Неактивен

 

#4 08.02.2011 07:51:12

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: очередность запросов

В случае MyISAM — читатели некоторое время подождут, да. В случае InnoDB
читателям отдастся предыдущая (до изменений) версия данных во время записи,
и уже новая после полного окончания записи.

Неактивен

 

#5 08.02.2011 08:55:39

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

Re: очередность запросов

я недавно перешел полностью на MyISAM изза медленных запросов, правильно поступил?

Неактивен

 

#6 09.02.2011 01:15:18

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: очередность запросов

Всё зависит от типа нагрузки. При росте количества запросов InnoDB справляется,
как правило, лучше. Кроме случая, когда у Вас вообще нет записи wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson