MyISAM вопросы по таблице

numer482
На сайте с 06.07.2011
Offline
44
448

1. Весь рунет буквально в один голос утверждает, основной недостаток MyISAM - блокирование на уровне таблицы при записи. Т.е. блокируется также чтение. Что очень критично для высоко нагруженных проектов.

Однако в документации сказано:

В версии MySQL 3.23.7 и выше можно вставлять строки в таблицы MyISAM в то время, когда другие потоки производят чтение из этой таблицы. Следует учитывать, что в настоящее время эта функция работает только при условии, что в таблице в момент вставки отсутствуют какие-либо пустые пространства, оставшиеся после удаленных из нее записей.

Т.е. если в таблице основные операции это SELECT и INSERT , то MyISAM является идеальным решением?

2. Вторым же недостатком называют ненадежность. Мол при краше валится вся таблица. А как на практике? Как я понимаю, к "крашу" может привести отключение питания или сбои на стороне железа. То есть вещь весьма редкая[если хостинг нормальный]. Вопрос в другом - что с восстановлением таблицы? Можно ли будет особо не заморачиваясь возобновить работоспособность таблицы? Относительно InnoDB конечно.:)

Спасибо.

siv1987
На сайте с 02.04.2009
Offline
427
#1

В документации сказано что можно вставлять при чтение, но не сказано что можно читать при вставке, хотя я конечно не силен в этих нюансов.

numer482:
Вторым же недостатком называют ненадежность. Мол при краше валится вся таблица. А как на практике?

На практике так и есть.

numer482:
Как я понимаю, к "крашу" может привести отключение питания или сбои на стороне железа. То есть вещь весьма редкая[если хостинг нормальный].

Не только, даже оверселлинг может привести к крэшу таблицы - а это уже вещь не самая редкая.

S
На сайте с 23.05.2004
Offline
316
#2

1 - да, MyISAM будет быстрый.

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

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

даже оверселлинг может привести к крэшу таблицы - а это уже вещь не самая редкая.

Типа телефон не надежный, так как ломается если по нему кирпичом стукнуть .)

Это просто подпись.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий