|
|
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы User и Section со связью м. к м. Возникла задача, при отображении пользователя выводить состоит ли он в какой-нибуть секции. Как вариант делать запрос с джоинами и смотреть COUNT > 0 или нет. А что если сделать у User, поле is_section и при добавление или удалении связей менять его значения. Является ли это оптимизацией и можно ли так делать? Необходимо учитывать, что пользователей на странице может быть 30-50 + по этому полю может быть фильтр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 12:41:32 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
SubaroКак вариант делать запрос с джоинами и смотреть COUNT > 0 или нет.Есть же EXISTS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 12:45:04 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
SubaroЕсть две таблицы User и Section со связью м. к м.Значит, есть как минимум третья таблица. Или база денормализована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 12:51:58 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
miksoft, Да, есть. В EXIST же тоже запрос будет выполнятся. А в моем случае с дублированием никаких доп. запросов не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 12:52:07 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
Akina, есть таблица User_Section ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 12:53:11 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
Переопределение данных - потенция нарушения целостности. Для этого нужно иметь очень веские основания. Которых я лично в данном случае в упор не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 12:53:57 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
SubaroА что если сделать у User, поле is_section и при добавление или удалении связей менять его значения. Является ли это оптимизацией и можно ли так делать? мы в своих проектах так и делаем, причем мы это обновляем не в момент добавления или удаления связей, а проводим подобный пересчет отдельной операцией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 13:04:15 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
AkinaПереопределение данных - потенция нарушения целостности. Для этого нужно иметь очень веские основания. Которых я лично в данном случае в упор не вижу.+много. Subaromiksoft, Да, есть. В EXIST же тоже запрос будет выполнятся.Не "тот же", а более экономичный, чем "запрос с джоинами и смотреть COUNT > 0 или нет" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 13:05:23 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
как я понял у вас три таблицы одна вторая и связь многие ко многим. то о чем вы предлагаете - нормальная тема - денормализация для ускорения... а поднятый вопрос о нарушении целосности... можно сделать таблицу отдельно с денормализованой структурой, и когда чтото меняеться в этих трёх, перещитывать денормализованную...или ваще тригерами точечно её править.... вариантов куча, но как верно заметили, денормализация это гемор, и прежде чем туда ити, надо подумать стоит ли оно того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 13:44:05 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
денормализация здесь не нужна, что мешает запросы делать? мускл шустрый, справится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 14:15:02 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
bochkovденормализация здесь не нужна, что мешает запросы делать? мускл шустрый, справится А как вы определяете, если время, объемы данных и планы запросов пока не конкретизировались ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 16:54:47 |
|
||
|
Дублирование данных для оптимизации запроса
|
|||
|---|---|---|---|
|
#18+
netwindbochkovденормализация здесь не нужна, что мешает запросы делать? мускл шустрый, справится А как вы определяете, если время, объемы данных и планы запросов пока не конкретизировались ?По фразе:SubaroНеобходимо учитывать, что пользователей на странице может быть 30-5030-50 EXISTS-ов стоят не так уж дорого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 16:57:40 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38747802&tid=1834225]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 383ms |

| 0 / 0 |
