Parece que se sabe que para encontrar una respuesta a una consulta sobre una base de datos relacional , se necesita tiempo , y no se puede eliminar el exponente.
Como puede ser muy grande, nos preguntamos por qué las bases de datos funcionan en la práctica.
¿Es solo una cuestión de que las consultas habituales no sean tan grandes en las aplicaciones del mundo real? (Entonces es interesante saber cuál es el tamaño habitual de las consultas planteadas a los sistemas de bases de datos relacionales y cuál es el tamaño "máximo" de las consultas que se espera que un sistema de base de datos responda efectivamente en la práctica ).
Notas sobre el exponenteno 'extraíble'
Para mostrar que el exponenteno es extraíble, se puede usar una consulta preguntando si existe una camarilla de tamaño en el gráfico proporcionado por la base de datos. Verificar si un gráfico tiene una -clique es un problema NP-completo. Además, no es manejable con parámetros fijos, con el parámetro . Los detalles se pueden encontrar en, por ejemplo,
Libkin, L .: Elementos de la teoría de modelos finitos. Springer (2004)
o
Papadimitriou, CH, Yannakakis, M .: Sobre la complejidad de las consultas de bases de datos. J. Comput. Syst. Sci. 58 (3), 407–427 (1999)
SELECT * FROM users WHERE username="abc" AND passwrod="xyz"
) son búsquedas simples, que toman O (| D |) para ejecutarse. Si hay un índice en los campos relevantes de la base de datos, tomará O (log | D |). No me interesan las bases de datos, pero no creo que las consultas más complicadas puedan llevar un tiempo exponencial.