Forum Webscript.Ru
Общие => Базы данных => Тема начата: qwer3d от 12 Апреля 2008, 15:33:45
-
Пишу базу. База расчитываеться на миллион запесей.
Будет много INSERT и UPDATE.
расчитывается что одновременно будет много запросов к ней.
Я начал изучать ТИПЫ БАЗ и наткнулся на тип InnoDB
В документации к MySQL написано, что этот тип ОЧЕНЬ быстрый и может хранить 1Тб данных. Так же написано, что она может в среднем выполнять 800 INSERT или UPDATE в секунду.
Сначало я сделал таблицу типа MyIsam, начил тестить в итоге получил 30 INSERT в секунду.
Потом сделал снова туже таблицу, но уже с типом InnoDB
так же начил тестить - в итоге максимум 2 INSERT в секунду.
InnoDB оказалось в 30 раз МЕДЛЕННЕЙ!!!
В ЧЕМ ДЕЛО??? КАК ЖЕ ТАК??? Где же скорость InnoDB?
Объясните какой тип базы самый быстрый???
-
Что то Вы не то прочли.
MyIsam - Это майисам, а InnoDB это иннодб. прямые запросы MyIsam выполняет быстрее - прямые селекты. возможно даже быстрее осуществляется полнотекстовый поиск. точно сказать не могу.
InnoDB - появились если я прав в пятой версии Mysql. также в пятой версии появляется поддержка транзакций, функций, внешних ключей, процедур и триггеров. Ура практически уже настоящая реаляционная база данных. прошу заметить до пятой версии Mysql не утверждали что у них есть полная поддержка реаляционности. они и не могли, целостность связей между таблицами и определенный набор функциональности отвечающей за всем этим делом как раз возможен только благодаря InnoDB
скорость InnoDB в сложных запросах. скорее всего имелась в виду.
Вот.
А выбор базы данных для проекта это вопрос философский. цена качество. ясно что лучшее - Оракл и МsSql, но можете ли вы позволить себе их ?
ясно что дешевле Mysql и PostGre, всегда можно купить железо помощнее.
-
ravshaniy, InnoDB появилась много-много лет назал еще в 3.23.37 и в 5й версии она просто присутствует как и в предыдущих версиях.
В InnoDB будет значительно лучшим выбором если у вас идет много одновременных запросов как на чтение так и на запись из-за row-level блокировок ( в отличии от MyISAM table-level блокировок).
скорость INSERTов очень зависит от того добавляете ли вы данные упорядоченые по первичному ключу или в не упорядоченые, т.к. в InnoDB все данные физически хранятся в primary key order. Соответственно если этого не делаете вы, это делает за вас сервер.
+ настройки ..
-
да ошибся!
Таблицы InnoDB входят в дистрибутив исходных текстов MySQL, начиная с версии 3.23.34a;
ссылка на источник (http://www.citforum.ru/database/mysql/manual/manual.ru_Table_types.html)
-
InnoDb - дочерняя компания оракл, написано на сайте http://www.innodb.com/.
мои собственные выводы что конечно же преимущество innodb не в скорости скорее, а в работающих механизмах сохраняющих целостность данных. и все же накопал Benchmark сравнения скорости myIsam InnoDB и Falcon /*сам впервые слышу что за шняга*/
http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/