Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (5) 1 2 [3] 4 5  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> оптимизация бд
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:




имеет ли смысл добавить в
paragraf{
id
glava_id
title
}

book_id

paragraf{
id
glava_id
title
book_id
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5493
Пользователь №: 35718
На форуме: 4 года, 18 дней
Карма: 167




Цитата (hurt3 @ 30.08.2016 - 13:47)
Valick
мда, браво...

что не так-то?
я так понимаю вам мало создать каталог книг, вам еще и саму книгу надо "растрепать" в БД по оглавлению с возможностью поиска конкретной книги конкретной главы и конкретного параграфа
да еще и на сколько я разбираюсь в колбасных обрезках, необходимо после поиска списка книг при клике на определённую книгу открывать оглавление с подсветкой искомой главы и параграфа, при клике на который, бросить якорь в браузер

выплюнуть отдельный параграф мягко говоря не наш метод


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 29 дней
Карма: 30




Что касается партицирования - читал когда-то, но не пользовался на практике, тут не скажу ничего.
Цитата
зачем делать виев если есть партицирование?

Это абсолютно разные вещи, и никак не могут заменять друг друга...

Что касается денормализации - я же предложил сделать вьюшку в которой будут все эти данные, не меняя структуры бд и не денормализируя ее. Чем это не подходит?

PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:







jetistyum

все верно пишите,молодец -правильно выделил суть проблемы, добавление спец поля с родителем родителя -книга, денормализует структуру бд!

но

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

если речь идет о виевсах - их придется пересоздавать каждый раз при изменении основной таблицы, по сути это будет доп таблица под отдельную книгу верно? Это будет доп функционал в приложении, верно?

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



Valick

вы не дело пишите перечитайте ветку с самого начала
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 29 дней
Карма: 30




hurt3

View придется пересоздавать если вы измените в исходных таблицах структуру (названия полей или их тип) либо поменяется алгоритм создания view. Если поля будут просто добавляться - view не изменится.
(!!! Я говорю именно о изменениях в стурукутре таблиц, а не о вставке новых записей в существующие)

И это будет не отдельная таблица (фактически не появится новых данных, это будет "виртуальная таблица" которая будет построена по результатам запроса и с этой таблицей можно работать так же, как с обычной, но только для выборки, не для вставки.
Вероятно он строит индексы по этому вьюсу, что позволяет с ним работать быстрее.

Партицирование добавлять или нет - зависит от объема данных. Если хотите - добавляйте, это даст при огромном кол-ве данных доп. оптимизацию, не зависимо есть view или нет.

О каком кол-ве записей мы ведем речь? Ведь оптимизация нужна там, где начинаются затыки. А оптимизация может быть разной, как создание индексов, так и установка нового железа, так и выбор лучшего движка таблиц, или движка бд.
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:




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

Объем строк если прикинуть чисто теоретически +-
2 000 000 000

но этот объем должен расти, если выстроить логику с завязкой на одних ключах, сдается мне искать будет долго ,м?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 29 дней
Карма: 30




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


Что вы имеете в виду "действий с добавлением", во view добавлять ничего не нужно, вы вставляете данные в соотв. таблицы : таблицу параграфов, таблицу глав, etc, а они появляются во вью, к тому же по сравнению с денормализацией не нужно "вручную" следить за целостностью бд.
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:




jetistyum

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

Поэтому получается что виевсы решают лишь 1 задачу

ну конечно еще действие добавление

Еще раз повторюсь книги параграфы и главы приведены лишь как пример для понимания логической структуры
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 29 дней
Карма: 30




Цитата (hurt3 @ 30.08.2016 - 14:56)
но этот объем должен расти, если выстроить логику с завязкой на одних ключах, сдается мне искать будет долго ,м?


Надо пробовать smile.gif Опять же какое железо будет использовано. SSD vs HDD сильно будет отличаться. Можно добавить и партицирование, для такого кол-ва записей вполне может сработать.
Опять же индексы, смотря какие выборки должны производиться. Поиск по ID или названию.
Простор для творчества огромен.
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:




jetistyum

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

jetistyum

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

ив ц елом хотелось бы услышать мнение так допустимо делать? может быть еще 3ий вариант какой есть?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 29 дней
Карма: 30




Цитата (hurt3 @ 30.08.2016 - 15:03)
понимаю, речь и идет имено о том, что в одной главе может быть 50000 параграфов (условно), возможно их нужно удалить поменять первое слово в каждом или произвести еще какие-либо сторонние действия, это означает что в основной таблице будет происходить поиск этих параграфов, правильно и дальнейшее их изменение/ удаление, правильно?
т.е. виевсы могут помочь лишь в получении информации, но помимо этой задачи будет так же задача на изменение гурппы строк и удаление



Разумеется это так, однако стоит разрабатываьт стркутуру исходя из того, на сколько часто будут происходить такие действия. Если говорить про реальный мир, то изменения параграфов книги - действие не тривиальное.
Опять же Выбрать данные параграфов можно из view по id книги, и потом уже после редактирования сохранить их в таблице параграфов, где не указан напрямую Id книги. Но это если используется какая-то программная прослойка.

PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 29 дней
Карма: 30




Цитата (hurt3 @ 30.08.2016 - 15:08)
так и не овтетил на вопрос, как профессионал как считаешь имеет ли смысл на этапе проектировки пожервтвоать нормализацией таблиц , что бы потом не мучиться с ускоернием добавляя поле?
Просто я потом не представляю как его потом добавлять и наполнять в таблуиу в рабочей системе

ив ц елом хотелось бы услышать мнение так допустимо делать? может быть еще 3ий вариант какой есть?


Я не сторонник денормализации, я бы не делал, но если вдруг это сильно ускорит работу системы - можно попробовать. (Хотя я чуть выше описал как можно было бы это сделать без денормализации)

Добавить поле можно на любом этапе, это не составит много труда. Я считаю что проблемы стоит решать по мере их поступления, а не пытаться решить несуществующую проблему.
Сделай нормальную бд, сделай вьюсы. попробуй наполнить и поработать с ней. это вопрос пары дней разработки, в раздумьях можно провести больше времени smile.gif
Да и нет тут "точки невозврата" Всегда можно привести бд в нормальный или ненормальный вид.
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:




Цитата (jetistyum @ 30.08.2016 - 16:09)
Но это если используется какая-то программная прослойка.


то же использование ключей

Цитата (jetistyum @ 30.08.2016 - 16:09)
на сколько часто будут происходить такие действия.


все действия равнозначны по важности и повторяемости

вроде и задача элементарная а на практике....

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
hurt3  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 6 дней
Карма:




jetistyum
спасибо, как думаешь объединение всех данных в одну таблицу, как Valick писал -не прокатит, слишком много информации будет дублироваться, м?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5493
Пользователь №: 35718
На форуме: 4 года, 18 дней
Карма: 167




Цитата (jetistyum @ 30.08.2016 - 15:09)
Если говорить про реальный мир, то изменения параграфов книги - действие не тривиальное

сдаётся мне что тут пахнет чем-то вроде википедии, но всё на столько засекречено, что лично я уже потерял интерес


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (5) 1 2 [3] 4 5  Ответ в темуСоздание новой темыСоздание опроса