Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите мне, пожалуйста!!!
мне необходимо поменять множество таблиц с MyISAM на тип InnoDB
1. можно ли это делать только при помощи команды
ALTER TABLE ... ENGINE=INNODB
2.какие последствия будут ввиду этих изменений??? придеться ли менять логику php-обработчика или , может, только в некоторых местах заменить часть кода??? чем это грозит???
Неактивен
мне ответили:
"1. Да достаточно воспользоваться оператором ALTER TABLE
2. Нет никаких изменений быть не должно, кроме некоторого замедления скорости выполнения приложений. Хотя если вы используете полнотекстовый поиск - он перестанет работать, так как ориентирован на таблицы MyISAM."
Неактивен
Jozefina написал:
мне ответили:
"2. Нет никаких изменений быть не должно, кроме некоторого замедления скорости выполнения приложений. "
Всё зависит от запросов, которые использует Ваше приложенияе В одних случаях быстрее работает MyISAM (в основном идет выборка SELECT), в других InnoDB (значительная часть запросов INSERT, UPDATE, DELETE).
Кроме того есть различия в доступной функциональности, например, InnoDB поддерживает транзакции, внешние ключи.
Для каких целей Вам понадобилось изменение типа таблиц?
Неактивен
для хранения многочисленных логов юзеров более 3000
запросы INSERT, UPDATE
Отредактированно Jozefina (10.03.2008 18:56:39)
Неактивен
В случае одновременных запросов к разным частям таблицы, Вы можете получить выйгрыш от InnoDB из-за того, что в InnoDB блокировка на уровне строк (а не на уровне таблиц, как в MyISAM). Практически это означает, что если процесс хочет обновить строку в таблице, то он блокирует только эту строку, позволяя другим обновлять другие строки параллельно. В MyISAM все выстраиваются в очередь на блокировку таблицы.
Неактивен
Подскажите пожалуйста.
Как поменять таблицу с InnoDB на тип MyISAM, можно ли это делать с помошью Navicat MySQL и как?
Неактивен
Можно с помощью SQL-запроса:
ALTER TABLE имя_таблицы ENGINE=Innodb;
Может ли Navicat не знаю
Неактивен