Solo especular aquí, pero una cosa que imagino es la optimización de la consulta de la base de datos.
Una consulta de base de datos en un lenguaje declarativo como SQL tiene que traducirse en un programa paso a paso llamado "plan de ejecución". Una consulta SQL generalmente se puede traducir a varios de dichos planes de ejecución, todos los cuales dan el mismo resultado pero pueden tener un rendimiento muy variable. El optimizador de consultas tiene que encontrar el más rápido, o al menos uno que sea razonablemente rápido.
Los optimizadores de consultas basados en costos tienen una "función de costo", que utilizan para estimar el tiempo de ejecución de un plan determinado. Los optimizadores exhaustivos pasan por todos los planes posibles (por algún valor de "todos los posibles") y seleccionan el más rápido. Para consultas complicadas, la cantidad de planes posibles puede ser prohibitivamente grande, lo que lleva a tiempos de optimización demasiado largos (¡incluso antes de comenzar la búsqueda en la base de datos!), Por lo que también hay optimizadores no exhaustivos. Solo miran algunos de los planes, quizás con un elemento aleatorio al elegir cuáles. Esto funciona, ya que generalmente hay una gran cantidad de planes "buenos", y puede que no sea tan importante encontrar el mejor: probablemente sea mejor elegir un plan de 5 segundos en lugar del plan óptimo de 2 segundos. , si requiere varios minutos de optimización para encontrar el plan de 2 segundos.
Algunos algoritmos de optimización utilizan una cola ordenada de planes "prometedores" (parciales). Si realmente no importa si encuentra el mejor plan, ¿tal vez podría usar una cola casi ordenada?
Otra idea (y sigo especulando) es un programador de procesos o hilos en un sistema de tiempo compartido, donde podría no ser importante si un determinado proceso o hilo obtiene su intervalo de tiempo unos milisegundos más tarde que si estrictamente ordenado por prioridad.
¡Bonito! Te votaría dos veces si pudiera. :-) –