Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Дублирование данных для оптимизации запроса / 12 сообщений из 12, страница 1 из 1
16.09.2014, 12:41:32
    #38747733
Subaro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
Есть две таблицы User и Section со связью м. к м.
Возникла задача, при отображении пользователя выводить состоит ли он в какой-нибуть секции.

Как вариант делать запрос с джоинами и смотреть COUNT > 0 или нет.

А что если сделать у User, поле is_section и при добавление или удалении связей менять его значения.
Является ли это оптимизацией и можно ли так делать?

Необходимо учитывать, что пользователей на странице может быть 30-50 + по этому полю может быть фильтр.
...
Рейтинг: 0 / 0
16.09.2014, 12:45:04
    #38747738
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
SubaroКак вариант делать запрос с джоинами и смотреть COUNT > 0 или нет.Есть же EXISTS
...
Рейтинг: 0 / 0
16.09.2014, 12:51:58
    #38747761
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
SubaroЕсть две таблицы User и Section со связью м. к м.Значит, есть как минимум третья таблица. Или база денормализована.
...
Рейтинг: 0 / 0
16.09.2014, 12:52:07
    #38747764
Subaro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
miksoft,

Да, есть. В EXIST же тоже запрос будет выполнятся. А в моем случае с дублированием никаких доп. запросов не будет.
...
Рейтинг: 0 / 0
16.09.2014, 12:53:11
    #38747767
Subaro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
Akina,

есть таблица User_Section
...
Рейтинг: 0 / 0
16.09.2014, 12:53:57
    #38747772
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
Переопределение данных - потенция нарушения целостности. Для этого нужно иметь очень веские основания. Которых я лично в данном случае в упор не вижу.
...
Рейтинг: 0 / 0
16.09.2014, 13:04:15
    #38747799
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
SubaroА что если сделать у User, поле is_section и при добавление или удалении связей менять его значения.
Является ли это оптимизацией и можно ли так делать?


мы в своих проектах так и делаем, причем мы это обновляем не в момент добавления или удаления связей, а проводим подобный пересчет отдельной операцией
...
Рейтинг: 0 / 0
16.09.2014, 13:05:23
    #38747802
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
AkinaПереопределение данных - потенция нарушения целостности. Для этого нужно иметь очень веские основания. Которых я лично в данном случае в упор не вижу.+много.
Subaromiksoft,

Да, есть. В EXIST же тоже запрос будет выполнятся.Не "тот же", а более экономичный, чем "запрос с джоинами и смотреть COUNT > 0 или нет"
...
Рейтинг: 0 / 0
16.09.2014, 13:44:05
    #38747855
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
как я понял у вас три таблицы одна вторая и связь многие ко многим.

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

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

вариантов куча, но как верно заметили, денормализация это гемор, и прежде чем туда ити, надо подумать стоит ли оно того.
...
Рейтинг: 0 / 0
17.09.2014, 14:15:02
    #38749152
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
денормализация здесь не нужна,
что мешает запросы делать?
мускл шустрый, справится
...
Рейтинг: 0 / 0
17.09.2014, 16:54:47
    #38749432
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
bochkovденормализация здесь не нужна,
что мешает запросы делать?
мускл шустрый, справится
А как вы определяете, если время, объемы данных и планы запросов пока не конкретизировались ?
...
Рейтинг: 0 / 0
17.09.2014, 16:57:40
    #38749436
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дублирование данных для оптимизации запроса
netwindbochkovденормализация здесь не нужна,
что мешает запросы делать?
мускл шустрый, справится
А как вы определяете, если время, объемы данных и планы запросов пока не конкретизировались ?По фразе:SubaroНеобходимо учитывать, что пользователей на странице может быть 30-5030-50 EXISTS-ов стоят не так уж дорого.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Дублирование данных для оптимизации запроса / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]