MySQL-Ergebnisse sortiert nach Liste, die für jeden Benutzer eindeutig ist

Ich habe eine Tabelle mit Tausenden von Produkten und etwa 50 authentifizierten Benutzern.

Alle diese Benutzer zeigen die Produkte auf ihren eigenen Websites und benötigen die Möglichkeit, sie unterschiedlich bestellen zu können.

Vermutlich brauche ich eine separate Tabelle für die Bestellungen, die die Spalten product_id, user_id und order enthält?

Wie mache ich das am effizientesten in MySQL, um sehr schnell zu sein und nicht zu verlangsamen, wenn ich Millionen von Produkten in die Datenbank bekomme.

Ist es überhaupt ratsam, es in MySQL zu tun, oder sollte ich eine Art anderen Index wie Solr / Lucene verwenden?

Meine Produkttabelle heißt "Produkte". Meine Benutzertabelle heißt "Benutzer".

Ein gutes Beispiel für die Funktionalität, die ich benötige, ist die Google-Suche, bei der Sie die Ergebnisse bestellen / unterdrücken können, wenn Sie angemeldet sind.

bearbeiten: Die Produktergebnisse werden paginiert und die Benutzer haben die Berechtigung, die Produkte zu bearbeiten, sodass sie nicht nur bereit sind

Antworten auf die Frage(3)

Ihre Antwort auf die Frage