Когда ЗАБЛОКИРОВАТЬ СТОЛЫ в MySQL (таблицы MyISAM)? - PullRequest
3 голосов
/ 19 апреля 2011

Достаточно ли внутренней блокировки MySQL для веб-сайтов малого и среднего размера?Мои таблицы MyISAM.Может быть несколько сотен человек, одновременно бьющих по определенной таблице с помощью SELECT и INSERT.Ни один из запросов INSERT / UPDATE не будет перекрываться.То есть никакие два пользователя не будут обновлять один и тот же идентификатор комментария.INSERT / UPDATE будут одноразовыми операциями - не будет считывания данных и выполнения дополнительных операций в рамках одного и того же запроса.

В частности, я настраиваю систему комментирования / чата для своего веб-сайта.В худшем случае может быть пара сотен человек, выполняющих оператор SELECT в таблицах комментариев / чатов для чтения новых сообщений.Что касается INSERT, может быть 100 (?) Разных людей, пытающихся ВСТАВИТЬ новый комментарий в любое время.

Я нашел эту статью в другом вопросе о SO, и в нем говорится, чтоLOCK TABLES «никогда не требуется для автономных операций вставки, обновления или удаления».Это хорошая практика для объема трафика БД, который я мог бы иметь?TIA за любой совет.

Ответы [ 2 ]

0 голосов
/ 19 апреля 2011

Единственная форма блокировки таблиц MyISAM - это блокировки таблиц. Идея состоит в том, что они спроектировали его так быстро, чтобы никто не нуждался в доступе, пока он работает. Верно - YMM определенно V. Но для большинства небольших и средних сайтов это нормально. Для примера, это то, что использует WordPress.

0 голосов
/ 19 апреля 2011

Возможно, вам нужно беспокоиться только о блокировке, если строки просматриваются и редактируются одновременно. Не беспокойтесь о блокировке за то, что вы делаете - это не только хорошая практика, использование блокировок здесь может снизить производительность.

...