Tampaknya diketahui bahwa untuk menemukan jawaban atas kueri atas database relasional D , kita perlu waktu | D | | Q | , dan seseorang tidak dapat menyingkirkan eksponen | Q | .
Karena bisa menjadi sangat besar, kami bertanya-tanya mengapa database bekerja sama sekali dalam praktiknya.
Apakah ini hanya masalah permintaan biasa yang tidak besar sama sekali dalam aplikasi dunia nyata? (Maka itu menarik untuk mengetahui apa ukuran pertanyaan yang biasa diajukan untuk sistem database relasional, dan apa ukuran "maksimal" dari pertanyaan yang diharapkan dapat dijawab secara efektif oleh sistem DB dalam praktiknya .)
Catatan tentang eksponen tidak `dilepas '
Untuk menunjukkan bahwa eksponen tidak dapat dilepas, seseorang dapat menggunakan kueri yang menanyakan apakah ada klik ukuran n dalam grafik yang diberikan oleh database. Untuk memeriksa apakah grafik memiliki n -clique adalah masalah NP-complete. Selain itu, ini tidak bisa diperbaiki dengan parameter tetap, dengan parameter n . Detail dapat ditemukan di, misalnya,
Libkin, L .: Elements Of Finite Model Theory. Springer (2004)
atau
Papadimitriou, CH, Yannakakis, M .: Tentang kompleksitas kueri basis data. J. Comput. Syst. Sci. 58 (3), 407–427 (1999)
SELECT * FROM users WHERE username="abc" AND passwrod="xyz"
) adalah pencarian sederhana, yang menjalankan O (| D |) untuk dijalankan. Jika ada indeks pada bidang basis data yang relevan, itu akan mengambil O (log | D |). Saya tidak ke dalam basis data, tapi saya tidak berpikir pertanyaan yang lebih rumit akan memakan waktu eksponensial.