|
|
|
| Здравствуйте.
Нужен совет по выбору типа таблиц в базе. Что использовать? innoDB или MyISAM ?
Базу предполагается использовать не на сервере, в для работы с локальным win32 приложением.
Что лучше для компа уровня Pentium4? Количество полей в таблицах в пределах 10, количество записей порядка 5-10 тыс. Количество таблиц не более 10.
Какой движок лучше работает с выборками по нескольким таблицам ( типа SELECT bla-bla FROM `table1`, `table2` WHERE `table1`.ID = table2`.ID)
Ещё такой подвопрос, касательно выборки из нескольких таблиц:
Если дублировать поля в разных таблицах, чтобы не было перекрестных запросов, то скорость выполнения запросов выше, чем при запросах к нескольким таблицам от 3 до 15 раз.
Это нормальное явление, или у меня неправильно спроектированы запросы/структура таблиц
Спасибо | |
|
|
|
|
|
|
|
для: Хулиган
(30.03.2009 в 21:08)
| | Это нормальное явление, или
Денормализация таблиц - это нормальное (в меру) явление.
innoDB - поддерживает транзакции, MyISAM - нет (если не ошибаюсь).
Опять же если не ошибаюсь, то предпочтительнее MyISAM если подавляющее большинство операций - это выборка.
Трудно ответить что для Вас лучше, это решать Вам.
Какой движок лучше работает с выборками
Вы что имеете ввиду под движком? | |
|
|
|
|
|
|
|
для: Valick
(31.03.2009 в 21:06)
| | > innoDB - поддерживает транзакции, MyISAM -нет.
и еще InnoDB поддерживает ограничения по чужому ключу.
это pro.
contra: MyIASM значительно (на порядок) быстрее InnoDB, поддерживает полнотекстовый поиск.
в деталях:
Возможности InnoDB
Возможности MyISAM | |
|
|
|
|
|
|
|
для: Valick
(31.03.2009 в 21:06)
| | под движком понимается innoDB или MyISAM.
Вообще-то вариант с innoDB всплыл из-за того, что поддерживаются трансакции.
В программе есть одно место, где выполняется несколько инсертов и апдейтов. И если один из них не сработал, то надо отменить действие всех этих запросов. Трансакция тут была бы кстати.
Если бы innoDB не был настолько медленнее (хотя бы не в разы), то я бы смирился с некоторым снижением скорости. Но в разы, а тем более на порядок снижать скорость наверное это слишком.
Видимо придется использовать MyISAM, и эмулировать трансакцию программно.
Спасибо. | |
|
|
|