Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.01.2021, 12:24
|
|||
---|---|---|---|
|
|||
Правильно наложить индекс на простую таблицу |
|||
#18+
Добрый день, дайте совет. Нужно хранить лайки к постам в блоге. Почитав статьи, пришел к выводу, что изобретать велосипед не нужно. Поэтому решил организовать хранение в виде отдельной таблицы likes (многие ко многим - пользователь/пост): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Чаще всего будет использоваться следующий запрос на бэке: Код: sql 1. 2. 3.
В SQL я не силен, поэтому возникают вопросы: 1) Нужно ли делать PK в виде отдельного поля id ? 2) Нужно ли делать составной PK ( story_id , user_id )? 3) Нужен ли уникальный индекс на story_id , user_id ? 4) Какой нужен индекс и на какое/какие поля его накладывать, если в условии выборки участвует только story_id ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 13:38
|
|||
---|---|---|---|
Правильно наложить индекс на простую таблицу |
|||
#18+
ogienko_ev 1) Нужно ли делать PK в виде отдельного поля id ? 2) Нужно ли делать составной PK ( story_id , user_id )? 3) Нужен ли уникальный индекс на story_id , user_id ? 4) Какой нужен индекс и на какое/какие поля его накладывать, если в условии выборки участвует только story_id ? 1 не 2 да 3 он создастся автоматически при создании ПК 4 никакой индекса при ПК (только { story_id , user_id }, а не { user_id , story_id } !) хватит ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1994229]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 514ms |
0 / 0 |