[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: оптимизация бд
Страницы: 1, 2, 3, 4, 5
hurt3
Valick

ну какое имеет значение, что создается

важно какое экспертное решение будет принято на форуме
jetistyum
Цитата (hurt3 @ 30.08.2016 - 15:16)
jetistyum
спасибо, как думаешь объединение всех данных в одну таблицу, как Valick писал -не прокатит, слишком много информации будет дублироваться, м?


и еще раз - денормализация не мой выбор.
К тому же как будет выглядеть изменнеие названия книги например (при хранении в одной таблице) апдейт 50000 записей в которых есть название книги? Думаю вы просто недопоняли друг друга. Или я вас smile.gif

Я бы сделал три таблицы и view join по трем таблицам
Хочешь что-то искать, например все таблицы параграфы книги - по view
хочешь подсчитать кол-во параграфов - по view
хочешь править - правишь по id из конкретной таблицы.

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

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

я понимаю прекрасно что вы предлагаете, спасибо за совет
S.Chushkin
Цитата (hurt3 @ 30.08.2016 - 15:39)
jetistyum
Партиционирование же позволит разбить на части таблицу  параграф по книге, те. мы не будем создавть доп таблиц, структура логическая на нижнем уровне для myISAM будет по сути дела распределена по разным папкам

Вы запутались...
Или Вас запутали коллеги. Но верю, что не по злому умыслу, а от великого усердия. smile.gif

Всё проще:
- забудьте про myISAM
И никогда больше не вспоминайте.
- забудьте про партицирование
Оно Вам не понадобится в ближайшие несколько лет, даже если у Вас бюджет в несколько миллионов баксов ежегодно. И вообще, Человечество за всю историю не написало столько книг, чтобы оно понадобилось. wink.gif
- Забудьте про оптимизацию (в т.ч. через денормализацию) на пару лет.
А когда у Вас будет хотя бы пара десятков параграфов, Вы уже будете знать как всё это делается. Или сможет легко нанять пару профессиональных разрабов, которые всё сделают оптимально.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (hurt3 @ 30.08.2016 - 16:03)
jetistyumЕще раз повторюсь книги параграфы и главы приведены лишь как пример для понимания логической структуры

Приведите ральные данные, если нужна реальная помощь.
А на сферический вопрос получите сферический ответ.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (hurt3 @ 30.08.2016 - 16:08)
так и не овтетил на вопрос, как профессионал как считаешь имеет ли смысл  на этапе проектировки пожервтвоать нормализацией  таблиц

Нет.

Цитата
ив ц елом хотелось бы услышать мнение так допустимо делать?

Да, если это разумно / требует задача.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
hurt3
S.Chushkin

реальные данные - реальные данные, реальная структура

таблица элементов №1
id
таблица элементов №2
id|al1_id

таблица элементов №3
id|al2_id
hurt3
S.Chushkin
а когда менять структуру, добавлять виевсы или рубить нормализацию?
Вопрос даже в том как на рабочем решении это все делать?

Вешать на сайте табличку извините технические работы?
S.Chushkin
Цитата (hurt3 @ 30.08.2016 - 16:50)
S.Chushkin
а когда менять структуру, добавлять виевсы или рубить нормализацию?

Когда надо, тогда и делаешь. Грубо говоря, - "когда припрёт". smile.gif

Цитата
Вопрос даже в том как на рабочем решении это все делать?

Вешать на сайте  табличку извините технические работы?

Кто как умеет.
Я делал так:
- На небольших базах простой запрос отработает за несколько секунд (десятков секунд, в зависимости от).
- На больших базах через дубликат её, - нерабочее время те же десятки секунд.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
hurt3
S.Chushkin
речь идет о партиционировании?
сколько строк было в бд?
S.Chushkin
Где-то уже писал, но повторюсь (не дословно).
Забудь про разделение на части (ака партицирование), если размер БД меньше 1-2 террабайт. До сотен гигабайт никакого выигрыша это не даёт, - проще, дешевле и быстрее будет (в обоих смыслах) заменить HD на SSD.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
hurt3
S.Chushkin

загоняюсь?
S.Chushkin
Цитата (hurt3 @ 30.08.2016 - 17:04)
S.Chushkin
речь идет о партиционировании?
сколько строк было в бд?

Да.
Несколько миллионов строк. Но записи были большие - в среднем, около мегабайта. (это не мой проект был - наследовал эту хрень sad.gif )
Тогда упёрлись в тормоза HD и его размер, пришлось выкручиваться (по быстрому). Решение было временным, что там сейчас творится, не знаю.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
S.Chushkin
Цитата (hurt3 @ 30.08.2016 - 17:09)
S.Chushkin

загоняюсь?

П-переведи...

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
hurt3
S.Chushkin
Цитата (S.Chushkin @ 30.08.2016 - 17:14)
П-переведи...


я имею ввиду то что может быть я просто словил параною, и решаю проблемы которых нет

но с другой стороны разве разумно решать системные проблемы аппаратными способами, почему из программ не выжать максимум прежде чем менять железо, м?
Быстрый ответ:

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