Size: a a a

2020 December 29

RB

Roman B. in MySQL
Здраствуйте!
Кто может помочь?

Я пишу микросервис на NodeJS, и там есть база данных mysql. В БД есть табдлица с товарами. И я делаю запросы к этой таблице. Вытягиваю название товара, описание товара, цену товаре, и все окей.  А ид товара является underfined. Немогу найти решения, может кто нибудь поможет?
источник

E

Evgenii in MySQL
Да конечно скидывай код сейчас все установим и разберёмся
источник

E

Evgenii in MySQL
Кидай запрос к базе сюда
источник

К

Константин in MySQL
Привет! Вопрос по архитектуре таблиц
Есть таблица notes
Есть таблица tags
У каждой заметки может быть множество тегов.
По тегу нужно выводить список всех соответствующих заметок. Но нюанс в том, что в рамках каждого тега у меня должна быть возможность настраивать порядок индивидуально. То есть в рамках списка заметок одно тега заметка А должна идти раньше заметки Б, а  в рамках другого тега я должен иметь возможность разместить заметку Б раньше заметки А.

Как организовать учёт весов в таблице правильно для этих целей? Создать промежуточную таблицу для обеспечения manytomany отношений? Или есть варианты лучше?

В голову пришло сделать у таблицы notes поле tags типа JSON и там уже в массиве прописывать каждому тегу вес. Компактно, но выборки делать будет неудобно тогда.

Есть ли решение лучше, чем таблица посредник manytomany в этом случае?
источник

DE

Denis Efremov in MySQL
notes
 id
 text

tags
 id
 name

notes_tags
 note_id
 tag_id
 sort_order


У третьей композитный PK
источник

J

Jury in MySQL
Jury
ага, примерно понял. Спасибо за совет! Тогда не буду городить мудрёные запросы, лучше в другом месте переделаю логику.
в общем, я разобрался с этими JOIN-ами. Там я неправильно выборку делал, если коротко. Немного поменял запрос — и всё заработало. Причём раза в два-три быстрее, чем было раньше.
источник

К

Константин in MySQL
Denis Efremov
notes
 id
 text

tags
 id
 name

notes_tags
 note_id
 tag_id
 sort_order


У третьей композитный PK
это я и имел в виду под manytomany.. да, не только связь, но и вес третьим столбцом. То есть считаете, что варианта лучше нет? Ничего, что при увеличении количества заметок и тегов таблицу будет раздувать?

И подскажите, пожалуйста, что значит композитный РК ?
источник

К

Константин in MySQL
ааа.. ключ, понял
источник

MS

Mikhaile Serkheeve in MySQL
Крч. работает только чз  where( dateFromTable, ‘<=‘, knex.row(‘Current_Timestamp’))
источник
2020 December 30

DE

Denis Efremov in MySQL
Mikhaile Serkheeve
Крч. работает только чз  where( dateFromTable, ‘<=‘, knex.row(‘Current_Timestamp’))
Ну посмотрим консоль логом что там ещё в knex.fn есть
источник

РА

Ринат А in MySQL
SELECT DISTINCT t1.film_id 
FROM entities_to_film as t1
JOIN films as t5 ON t1.film_id = t5.id
ORDER BY t5.rating DESC
LIMIT 5 OFFSET 0

Запрос занимает уйму времени. index на  rating стоит.
Куда копать? Если убрать order by или DISTINCT, то процесс занимает менее скунды
источник

TS

Tagil Steel in MySQL
Ринат А
SELECT DISTINCT t1.film_id 
FROM entities_to_film as t1
JOIN films as t5 ON t1.film_id = t5.id
ORDER BY t5.rating DESC
LIMIT 5 OFFSET 0

Запрос занимает уйму времени. index на  rating стоит.
Куда копать? Если убрать order by или DISTINCT, то процесс занимает менее скунды
Выбрать фильмы с лимитом 5, это будет быстро, а потом присоединить entities_to_film. это тоже будет быстро.
источник

РА

Ринат А in MySQL
Tagil Steel
Выбрать фильмы с лимитом 5, это будет быстро, а потом присоединить entities_to_film. это тоже будет быстро.
Выбирать нужно по entitiestofilm, далее отсортировать по рейтингу в до таблице
источник

IZ

Ilia Zviagin in MySQL
Константин
Привет! Вопрос по архитектуре таблиц
Есть таблица notes
Есть таблица tags
У каждой заметки может быть множество тегов.
По тегу нужно выводить список всех соответствующих заметок. Но нюанс в том, что в рамках каждого тега у меня должна быть возможность настраивать порядок индивидуально. То есть в рамках списка заметок одно тега заметка А должна идти раньше заметки Б, а  в рамках другого тега я должен иметь возможность разместить заметку Б раньше заметки А.

Как организовать учёт весов в таблице правильно для этих целей? Создать промежуточную таблицу для обеспечения manytomany отношений? Или есть варианты лучше?

В голову пришло сделать у таблицы notes поле tags типа JSON и там уже в массиве прописывать каждому тегу вес. Компактно, но выборки делать будет неудобно тогда.

Есть ли решение лучше, чем таблица посредник manytomany в этом случае?
У тебя там и так many to many будет, что мешает добавить в него ещё одно поле, ранг заметки?
источник

IZ

Ilia Zviagin in MySQL
Константин
Привет! Вопрос по архитектуре таблиц
Есть таблица notes
Есть таблица tags
У каждой заметки может быть множество тегов.
По тегу нужно выводить список всех соответствующих заметок. Но нюанс в том, что в рамках каждого тега у меня должна быть возможность настраивать порядок индивидуально. То есть в рамках списка заметок одно тега заметка А должна идти раньше заметки Б, а  в рамках другого тега я должен иметь возможность разместить заметку Б раньше заметки А.

Как организовать учёт весов в таблице правильно для этих целей? Создать промежуточную таблицу для обеспечения manytomany отношений? Или есть варианты лучше?

В голову пришло сделать у таблицы notes поле tags типа JSON и там уже в массиве прописывать каждому тегу вес. Компактно, но выборки делать будет неудобно тогда.

Есть ли решение лучше, чем таблица посредник manytomany в этом случае?
JSON не нужен, ни тут, ни вообще.
источник

TS

Tagil Steel in MySQL
Ринат А
Выбирать нужно по entitiestofilm, далее отсортировать по рейтингу в до таблице
А почему в Вашем случае не выбрать напрямую из films?
источник

РА

Ринат А in MySQL
Tagil Steel
А почему в Вашем случае не выбрать напрямую из films?
Условия задаются в entitiestofilm
источник

DE

Denis Efremov in MySQL
Ринат А
Условия задаются в entitiestofilm
А что такое entities у тебя?
источник

РА

Ринат А in MySQL
Denis Efremov
А что такое entities у тебя?
Там все: жанры, режиссура, актеры и ттд
источник

DE

Denis Efremov in MySQL
Просто связующие таблицы могут называться могут называться нормально

https://github.com/Piterden/cinemateka/tree/master/database/migrations

Посмотри связку events-programs-places связующей таблицей seances
источник