Tu preguntaste por
algoritmo, no por
programación.
No es lo mismo.
Cuando hablas de
algoritmia estás planteando cuál es la logica a cumplir, que está
más allá de los lenguajes.
Pero cuando hablas de optimizar una busqueda programáticamente, estás preguntando por los recursos de cada lenguaje, y alli te diré que si la tabla está en la base, es una consulta a ella, mientras que si la tabla es parte de la página, necesitas otros recursos, y si la tabla es un array de PHP, entonces debes usar
los métodos que existan en esa clase.
¿Se entiende?
No confundas lógica con implementación.