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

дак виев еще собрать нужно, после каждого внесения удаления инфы или замены, они нужны лишь для получения выборки
hurt3
S.Chushkin
да структура должна быть расчитана под такой объем с последующим разносом по серверам
Valick
я лично вижу тут всего одну таблицу

id | book_id | glava | paragraf | text

ну а кто не "спрятался", я не виноват

_____________
Стимулятор ~yoomoney - 41001303250491
hurt3
Valick


будете ли производить партицирование при аткйо структуре?



имеет ли смысл создавать такую структуру - данные будут дублироваться

ну и потом глава так же может содержать свою инфомрацию допустим название как и параграф
Valick
Цитата (hurt3 @ 30.08.2016 - 13:19)
будете ли производить партицирование при аткйо структуре?

это уже оставьте как раз оптимизации

Цитата (hurt3 @ 30.08.2016 - 13:19)
имеет ли смысл создавать такую структуру - данные будут дублироваться

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

Цитата (hurt3 @ 30.08.2016 - 13:19)
ну и потом глава так же может содержать свою инфомрацию допустим название как и параграф

значит тем более уникальность информации будет повышаться

_____________
Стимулятор ~yoomoney - 41001303250491
hurt3
Valick
blink.gif unsure.gif

это уже оставьте как раз оптимизации

в каком смысле?


значит тем более уникальность информации будет повышаться
куда в вашей структуре вы добавите доп информацию о книге и главе
Valick
Цитата (hurt3 @ 30.08.2016 - 13:29)
куда в вашей структуре вы добавите доп информацию о книге и главе

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

_____________
Стимулятор ~yoomoney - 41001303250491
hurt3
Valick

да виноват, не дал полную информацию, приведите пожалуйста вариант таблиц с текущим условием
jetistyum
Valick
На сколько я понял, есть три таблицы (хотя ТС довольно неоднозначно описал структуру БД)
Условно
books {
id
title
}

glava{
id
book_id
title
}

paragraf{
id
glava_id
title
}



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


Цитата

назовите мне хоть один параграф который не принадлежит к главе и как следствие к самой книге

Что касается выборки


SELECT `b`.`id` AS `book_id`,
`p`.`id` AS `paragraf_id`,
`g`.`id` AS `glava_id`,
`p`.`title` AS `paragraf`,
`g`.`title` AS `glava`,
`b`.`title` AS `book`

FROM `paragraf` `p`
LEFT JOIN `glava` `g` on `p`.`glava_id` = `g`.`id`
LEFT JOIN `books` `b` on `g`.`book_id` = `b`.`id`


WHERE b.id is null # где нет связки параграфа или главы с книгой
WHERE g.id = null # где нет связи главы с параграфом



А если из запроса сделать VIEW, выбирать еще проще.

Что я делаю не правильно?
jetistyum
Valick

А если добавить еще и foreign key, то целостность бд не сможет быть нарушена, и как следствие не будет записей не привязанных ни к чему
hurt3
jetistyum
зачем делать виев если есть партицирование?

и вот здесь не могу просчитать решение

WHERE b.id is null # где нет связки параграфа или главы с книгой

возможно выборка будет идти очень долго
Valick
Цитата
приведите пожалуйста вариант таблиц с текущим условием

для того что вы хотите больше подходит структура XML
возможно стоит смотреть в сторону PostgreSQL, там вроде есть более менее адекватная поддержка
если интересует вариант именно на MySQL, то надо "посидеть", а я сейчас на работе (первый день кстати после отпуска), сильно не охота, но надо работать

_____________
Стимулятор ~yoomoney - 41001303250491
hurt3
Valick
мда, браво...
jetistyum
Цитата (hurt3 @ 30.08.2016 - 13:42)
зачем делать виев если есть партицирование?


Что значит партицирование?
Представь полную структуру своих таблиц, или подтверди (или не подтверди) что я правильно понял ее, и описал в ответе. Мы будто говорим о разных вещах.

hurt3
что значит партиционирование blink.gif

структура
books {
id
title
}

glava{
id
book_id
title
}

paragraf{
id
glava_id
title
}
Быстрый ответ:

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