Wyniki Mysql posortowane według listy, która jest unikalna dla każdego użytkownika

Mam stolik tysięcy produktów i 50 uwierzytelnionych użytkowników.

Wszyscy ci użytkownicy wyświetlają produkty na swoich własnych stronach internetowych, a wszystkie wymagają możliwości uporządkowania ich w inny sposób.

Przypuszczam, że potrzebuję pewnego rodzaju oddzielnej tabeli dla zamówień, które zawierają kolumnę product_id, user_id i order?

Jak zrobić to najskuteczniej w mysql, aby być bardzo szybkim i nie zwalniać, jeśli dostanę miliony produktów w bazie danych.

Czy jest to nawet mądre robić to w mysql, czy też powinienem używać jakiegoś innego indeksu, takiego jak solr / lucene?

Moja tabela produktów nazywa się „produkty”. Moja tabela użytkownika nazywa się „użytkownicy”

Dobrym przykładem funkcjonalności, której potrzebuję, jest wyszukiwanie google, w którym można zamówić / pominąć wyniki, jeśli jesteś zalogowany.

edytować: wyniki produktu będą paginowane, a użytkownicy będą mieli uprawnienia do edycji produktów, więc nie tylko będą gotowe

questionAnswers(3)

yourAnswerToTheQuestion