[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доска объявлений
Страницы: 1, 2, 3
Zzepish
S.Chushkin
Цитата
Да, быстрее.
Только, утверждение требует уточнения: в каких случаях и насколько.
Вы можете привести данные сравнительных тестов?

Эх, была у меня таблица на 250к+ записей. На ней все тестил. Данных не помню(
sg.com
twin спасибо статья чюток помогла:
Цитата
Различие в том, что MyISAM для каждой таблицы создает свой файл, InnoDB по умолчанию все хранит в общем.

то есть для InnoDB разницы нет в одной таблице или в нескольких хранить (по умолчанию).

правда немного задумался про MyISAM, но вот это наверное решающим станет:

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


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

с архитектурой определился
Гость_glock18
В то время, когда я использовал MySQL, MyISAM гипотетически был хорош для таблиц-справочников, поскольку когда записей в таблицу делается мало, блокировать ему тоже ничего не приходится, и в таких условиях у него выборка была быстрее, чем у Innodb. Мб Innodb ускорился версии с 6й, я не знаю, но знаю, что MyISAM уже давно на свалку истории отправить хотели разрабы, а вот Innodb с момента его появления оптимизировали постоянно.

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

PS: помимо пробела с целостностью, MyISAM очень плох для любых других случаев (скорее даже, в первую очередь из-за этого, а уже потом целостность) из-за table-lock'а. insert'ы и join'ы на MyISAM могут убить все надежды на скорость
sg.com
"что бы не пострадала производительность других таблиц используют разбиение таблиц на отдельные файлы в InnoDB" - статья Вестника Кгуста (Издательство: Кыргызский государственный университет строительства, транспорта и архитектуры им. Н.Исанова (Бишкек) , КАРИМБАЕВ Т.Т., МАМБЕТАЛИЕВА А.М. ) biggrin.gif, не, ну правильно же пишут.
twin
Цитата (Гость_glock18 @ 28.06.2016 - 11:49)
поскольку такую таблицу даже джойнить больше не получится ни с чем, и все данные дергать отдельными запросами оттуда

Можно с этого места поподробнее? Почему не получится?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Гость_glock18
Цитата (twin @ 28.06.2016 - 17:39)
Цитата (Гость_glock18 @ 28.06.2016 - 11:49)
поскольку такую таблицу даже джойнить больше не получится ни с чем, и все данные дергать отдельными запросами оттуда

Можно с этого места поподробнее? Почему не получится?

Насколько я помню, таблицы на разных энжинах нельзя джойнить друг с другом
Guest
Могу ошибаться, конечно, я помню, что меня в своё время мучило то, что внешними ключами эту таблицу ни с чем не соединить, но, кажется, что джойнить ее с innodb таблицами не получалось, и ошибка вроде бы характерная была
Guest
Видимо, ошибаюсь все же:

http://stackoverflow.com/questions/5475283...h-myisam-tables

Однако

Цитата
What jumps out immediately at me is MyISAM.

ASPECT #1 : The JOIN itself

Whenever there are joins involving MyISAM and InnoDB, InnoDB tables will end up having table-level lock behavior instead of row-level locking because of MyISAM's involvement in the query and MVCC cannot be applied to the MyISAM data. MVCC cannot even be applied to InnoDB in some instances.


ликвидирует одно из основных преимуществ innodb, что с небольшой натяжкой можно считать достаточной причиной отказаться от джойнов MyISAM с Innodb
twin
Ты наверное путаешь с транзакциями. Да, то геммор, если вдруг понадобится включить такую таблицу в транзакцию. С джоинами там все нормально.

С InnoDB есть один неприятный момент - deadlock. Так что на "горячих" таблицах MyISSAM пока предпочтительнее. Но все не стоит на месте, может и это поправят.

А в плане производительности, это не тот случай, когда можно пренебречь безопасностью данных в угоду скорости.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
sg.com
Прочитав с десяток статей, все таки аргументы оставить разбивку таблиц на несколько (в разрезе тематик) убедительнее, - если информации станет много, - перезалить БД, так, что бы для каждой таблицы сформировался свой отдельный файл. Но однозначно - это InnoDB.
S.Chushkin
Цитата (sg.com @ 28.06.2016 - 18:54)
Прочитав с десяток статей, все таки аргументы оставить разбивку таблиц на несколько (в разрезе тематик) убедительнее, - если информации станет много, - перезалить БД, так, что бы для каждой таблицы сформировался свой отдельный файл. Но однозначно - это InnoDB.

Похоже Вы запутались. Или заблудились. smile.gif

Цитата (sg.com @ 28.06.2016 - 18:54)
Когда человек наверняка не знает, то такой вот совет (без какой либо конкретики) неясно как воспринимать. Например какие проблемы? (хотя бы одну две) ...и готов вроде начать с классики... но что такое классика?

А искать инфу Вас не учили? Научитесь, полезно. И я и другие профи не раз писали об этом, или на этом сайте или в соседних, - повторять вряд-ли кто-то будет специально для Вас.
Хотя ... хозяин-барин. "Я прокукарекал, а там хош рассветай хош не рассветай" (с) wink.gif



_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (Zzepish @ 28.06.2016 - 15:24)
Эх, была у меня таблица на 250к+ записей. На ней все тестил. Данных не помню(

Так повтори, - в чём проблема?
Только пошире: одна-две-три таблицы, простые сложные выборки, добавление/изменение/удаление записей и т.д. и т.п.
Разбей тесты на группы и выложи таблицу результатов для этих сравнительных тестов в идентичных условиях для разных движков. Вот это будет убедительный для всех, особенно для начинающих, аргумент за или против.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Zzepish
S.Chushkin
Хм. Ты прав.
sg.com
Цитата (S.Chushkin @ 28.06.2016 - 20:30)
А искать инфу Вас не учили?

в том и дело, что искал и из того что нашел, все об одном, что разделение по таблицам (файлам) разгружает нагрузку на отдельную таблицу. Другого не встретил, то есть Ваша позиция абсолютно неясна для меня. Мало того, не разделение таблиц по файлам - пишут "это по старинке".

Разговор идет о разделении одной таблицы на пять аналогичных с небольшими различиями между собой (в пределах +/- один столбец или тип хранимой информации в таком столбце).

Почему такое решение плохо? Кроме Вашего "плохо" больше аргументов против пока нет smile.gif
S.Chushkin
Цитата (sg.com @ 28.06.2016 - 20:46)
разделение по таблицам (файлам) разгружает нагрузку на отдельную таблицу. ... не разделение таблиц по файлам - пишут "это по старинке".

Бред. Не читайте такие статьи.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.