|
Правильно наложить индекс на простую таблицу
|
|||
---|---|---|---|
#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, 12:24 |
|
Правильно наложить индекс на простую таблицу
|
|||
---|---|---|---|
#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 } !) хватит ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 13:38 |
|
|
start [/forum/topic.php?fid=53&fpage=16&tid=1994229]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 385ms |
0 / 0 |