¿Hay alguna forma escalable de seleccionar miles de filas usando mysql IN o algo similar?La forma más eficiente de seleccionar miles de filas de una lista de identificadores
E.g.
SELECT * FROM awesomeTable WHERE id IN (1,2,3,4......100000)
¿Esto es posible o estoy soñando? Schema es InnoDB, se puede cambiar si otro proporciona una solución más escalable.
Como referencia obtengo los resultados de búsqueda de un conjunto de identificadores devueltos de Solr. Me gustaría usar mysql para la recuperación final, ya que haría la clasificación y el filtrado final de estos resultados mucho más fáciles (no entraré en los detalles de por qué).
EDIT:
La consulta podría ser utilizar una cláusula LIMIT siempre y cuando el EN todavía contenía todos los identificadores de 100.000
P. ej
SELECT * FROM awesomeTable WHERE id IN (1,2,3,4......100000) LIMIT 10;
es mejor utilizar la clasificación de Solr si desea lograr el rendimiento. – sathis
¿De verdad tiene que buscar el contenido real de todas las mil filas? ¿No puedes hacer tu paginación algo y luego comenzar a buscar por página? – cherouvim
@cherouvim él tiene que hacer la clasificación. Es por eso que está seleccionando todos los registros que asumo. – sathis