Resultados Mysql ordenados por lista que es único para cada usuario

Tengo una tabla de miles de productos y más o menos 50 usuarios autenticados.

Todos estos usuarios muestran los productos en sus propios sitios web y todos ellos requieren la capacidad de ordenarlos de manera diferente.

Suponiendo que necesito algún tipo de tabla separada para los pedidos que contiene el product_id, user_id y order column?

¿Cómo hago esto de la manera más eficiente en mysql para ser muy rápido y no ralentizar si obtengo millones de productos en la base de datos?

¿Es incluso prudente hacerlo en mysql o debo usar algún otro tipo de índice como solr / lucene?

Mi tabla de productos se llama "productos" Mi tabla de usuarios se llama "usuarios"

Un buen ejemplo de la funcionalidad que necesito es la búsqueda de Google, donde puede solicitar / suprimir los resultados si ha iniciado sesión.

editar: los resultados del producto serán paginados y los usuarios tienen la autoridad para editar los productos, por lo que no solo están listos

Respuestas a la pregunta(3)

Su respuesta a la pregunta