|
|
|
| подскажите плз... чем стандартный тип MyISAM хуже или лучше InnoDB. Читал мануал.. понял только, что InnoDB в 100 раз лучше... или не так? | |
|
|
|
|
|
|
|
для: 1999
(19.07.2007 в 18:52)
| | MyISAM значительно быстрее работает и поддерживает полнотекстовый поиск. | |
|
|
|
|
|
|
|
для: 1999
(19.07.2007 в 18:52)
| | 1. В отличие от MyISAM, InnoDB не создаются в БД, и для каждой из таблиц не выделяется отдельный файл данных. Исключение - файл определения с расширением *.frm, который всё же создаётся (по умолчанию в базе дынных test). Все таблицы хранятся в едином табличном простанстве, поэтому их имена должны быть уникальными.
2. Хранение данных в едином табличном пространстве позволяет снять ограничения на объём таблиц, т. к. файл с таблицами может быть разбит на несколько частей и распределён по нескольким дисскам илии даже хостам.
3. Данный тип таблиц поддерживает автовосстановление после сбоев.
4. Обеспечивается поддержка транзакций.
5. Это единственный тип таблиц в MySQL, поддерживающий внешние ключи и каскадное удаление.
6. Выполняется блокировка на уровне отдельных записей.
7. Расширенная поддержка кодировок.
8. Таблицы типа InnoDB надёжнее MyISAM и рушатся при достижении объёма в несколько ГБ, однако заметно уступают в скорости (иногда в разы) и не поддерживают полнотекстовый поиск.
источник : "MySQL 5 В подлиннике" | |
|
|
|
|
|
|
|
для: Vertex
(20.07.2007 в 15:26)
| | по посту Trianon'а делаю вывод что MyISAM лучше
по посту Vertex'а - лучше InnoDB
кому верить? | |
|
|
|
|
|
|
|
для: 1999
(20.07.2007 в 18:03)
| | книжку как раз Трианон с Хеопсом писали, как я понял:)
Делай вывод из двух постов сразу и плюс из того, что нужно от таблиц и как организован сервер. | |
|
|
|
|
|
|
|
для: Vertex
(20.07.2007 в 18:13)
| | >книжку как раз Трианон с Хеопсом писали, как я понял:)
>Делай вывод из двух постов сразу и плюс из того, что нужно от таблиц и как организован сервер.
При всем моем уважении к Трианону, смею заметить, что в написании книги он не участвовал... | |
|
|
|
|
|
|
|
для: ddhvvn
(20.07.2007 в 18:48)
| | значит я ошибся, прошу прощения., я тут всего 2 дня. Но ник cheops в примерах этой книги был это точно:) Там, где рассказывалось про регистрацию и работу сессий. Ещё раз прошу прощения за мою ошибку. | |
|
|
|
|
|
|
|
для: Vertex
(20.07.2007 в 18:13)
| | >книжку как раз Трианон с Хеопсом писали, как я понял:)
Нет.
Я вообще не вхожу в группу softtime. | |
|
|
|
|
|
|
|
для: 1999
(20.07.2007 в 18:03)
| | Одни говорят,что лучше спорткары,другие-что лучше джипы-кому верить?...Все зависит от того,что нужно ИМЕННО вам.Если я к примеру-рядовой программист,меня не особо интересуют всякие навороты и мои данные не настолько объемны и важны,чтобы их утеря привела к катастрофе,а скорость и поддержка полнотекста не помешают,я для себя выбрал MyISAM...Если вы работаете с серьезными важными проектами и вы серьезный программист (тогда правда вы бы не задавали наверно этот вопрос :) )-выбирайте InnoDB | |
|
|
|
|
|
|
|
для: Ralph
(20.07.2007 в 18:26)
| | >и вы серьезный программист
Точнее администратор баз данных - при обслуживании гигантских баз данных нужен административный опыт. | |
|
|
|
|
|
|
|
для: Ralph
(20.07.2007 в 18:26)
| | Я не очень понимаю, что значит серьезный программист или администратор.
Опытный разработчик выберет не конкретно MyISAM или конкретно InnoDB.
Он выберет движок (а вероятнее всего и весь сервер) согласно цене и сложности решаемых задач.
В ситуациях особо крупных коммерческих проектов и проектов с жесткой транзакционной логикой это скорее всего будет Oracle.
В случаях потребности львиной доли Web-сайтов это будет MySQL/MyISAM
Вероятно некая промежуточная ниша (когда деньги надо экономить а транзакции нужны)
придется и на MySQL/InnoDB
Опять же если заказчик (или условия функционирования клиентов - например, терминалы прайсчекеры в гипермаркетах) будет требовать .asp-технологию , что-то отхватит и MSSQL.
А если весь проект нужно уместить на одной домашней/офисной машинке - не исключено, что разработчик обойдется MS ACCESS. | |
|
|
|
|
|
|
|
для: 1999
(20.07.2007 в 18:03)
| | Если вам нужна скорость и быстрый поиск (а в Web как раз она и требуется) выбирайте MyISAM, если каскадное удаление, обновление и транзакции, то выбирайте InnoDB (скорость которой может быть меньше MyISAM в несколько раз). Как правило, в Web используется MyISAM, InnoDB используется, как правило, используется для гигантских баз данных под которую отводится весь сервер целиком, а также для монетарных приложений, где много работы с деньгами. | |
|
|
|
|
|
|
|
для: cheops
(20.07.2007 в 18:53)
| | спасибо | |
|
|
|
|
|
|
|
для: 1999
(20.07.2007 в 18:03)
| | >по посту Trianon'а делаю вывод что MyISAM лучше
>по посту Vertex'а - лучше InnoDB
>кому верить?
Это Ваш вывод. Я такого не говорил.
Вы указали что есть моменты, в которых MyISAM проигрывает InnoDB - а я привел те моменты, где он выигрывает. | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2007 в 19:33)
| | Ну а я прошу прощения,особым опытом и интеллектом не блещу,посему сформулировал ответ чисто на уровне своего IQ,пусть возможно и некорректно :-D
P.S. Зато благодаря моему глупому посту как вам все понятно,подробно и обширно разъяснили :-D | |
|
|
|
|
|
|
|
для: Ralph
(20.07.2007 в 22:21)
| | А как вообще понимать, что такое каскадное удаление и транзакации. (Вопрос может показаться глупым, но у меня еще нет сильного опыта в MYSQL) | |
|
|
|
|
|
|
|
для: stas1987
(23.07.2007 в 00:14)
| | Допустим у вас имеется две таблицы
Каталог
Позиции
В каждом каталоге может быть несколько позиций. Если таблицы связаны внешним ключом (FOREIGN KEY), удаление или обновление записи из каталога приводит к автоматическому удалению или обновлению записей из таблицы позиций. Без этого приходится использовать несколько запросов. | |
|
|
|
|
|
|
|
для: cheops
(23.07.2007 в 11:02)
| | Что то я не пойму следующее высказывание :
Таблицы типа InnoDB надёжнее MyISAM и рушатся при достижении объёма в несколько ГБ
Как это InnoDB надежнее если они рушатся при достижении объёма в несколько ГБ ?
Или речи шла о MyISAM ? | |
|
|
|
|
|
|
|
для: Prihod
(23.07.2007 в 11:16)
| | Здесь "не" пропущено :))) MyISAM обычно рушиться в районе 10-20 Гб, для InnoDB сообщается о реально работающих терабайтных базах данных. | |
|
|
|