|
Нужна ли нормализация для кеша?
|
|||
---|---|---|---|
#18+
Есть веб-страница, обслуживающая пользовательские устройства. Пользовательские устройства передают на страницу свой идентификатор и получают дополнительную информацию (сведения о лицевом счете, список услуг и подписок и т.д.), которые и отображают в информационном окне. Предоставлением услуг устройствам занимается Middleware и вся необходимая информация в этой системе есть. Но эта система не может использоваться как БД, она медленно отвечает и не рассчитана на такие запросы. Поэтому информация с Middleware периодически опрашивается, запоминается в локальной БД и веб-страница работает уже с этой БД. Сейчас в БД такая структура: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
MAC это идентификатор устройства, DEVICE это внутренний идентификатор устройства в Middleware, они оба уникальны. А вот все остальные поля уникальны для пользователя, но не для пользовательского устройства (у одного пользователя как правило несколько устройств). Общее количество строк в этой таблице навряд ли превысит 100к, а скорее всего будет измеряться тысячами штук. Стоит ли разбивать таблицу на TMP_DEVICES и TMP_ACCOUNTS? Или для кеша нормально хранить все в общей таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 11:58 |
|
Нужна ли нормализация для кеша?
|
|||
---|---|---|---|
#18+
Alibek B.Стоит ли разбивать таблицу на TMP_DEVICES и TMP_ACCOUNTS? это больше вопрос к логике приложения... нужны ли эти данные отдельно, а вместе? если на оба первых вопроса ответ да, то что нужно чаще и в какой пропорции? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 12:05 |
|
Нужна ли нормализация для кеша?
|
|||
---|---|---|---|
#18+
Приложению нужны все поля, но для приложения нет особой разницы, делать select * from tmp_devices или select * from tmp_devices join tmp_accounts using (account). Но если таблицу разбивать на две, то логика обновления кеша будет более сложной, вместо одного merge будет два прохода с merge. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 12:12 |
|
|
start [/forum/topic.php?fid=52&msg=39839128&tid=1882285]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 19ms |
total: | 155ms |
0 / 0 |