SELECT *
FROM `table`
WHERE `ID` in (5623, 5625, 5628, 5621)
mientras que la investigación más a fondo me encontré con un interesante blog post que explica cómo utilizar un conjunto para obtener un rendimiento de SQL más rápido de In cláusulas, mediante la creación de una lista de identificadores en una expresión de tabla común (CTE) y luego unirse en ese.
Así que podría codificar el equivalente PHP de lo siguiente para obtener el máximo rendimiento.
DECLARE @idList varchar(256)
SET @idList = '5623, 5625, 5628, 5621'
;with ids (id) as
(
SELECT value FROM UTILfn_Split(@idList,',')
)
SELECT t.*
FROM table as t
INNER JOIN ids
ON t.ID = ids.id
se recomienda usar la indexación, se mejorará que muchos de ID en la base de datos. ¿Los ID son diferentes cada vez que lo ejecuta? ¿Puedes asumir algo en los ID? ¿Con qué frecuencia se escriben los datos en la mesa? – Artium
¿Por qué necesita una forma más rápida? ¿Su sitio funciona lento o tiene alguna otra razón para encontrar una forma más rápida? –