Здається, відомо, що для пошуку відповіді на запит по реляційній базі даних потрібен час , і не можна позбутися від показника.| Q |
Оскільки може бути дуже великим, ми дивуємося, чому бази даних взагалі працюють на практиці.
Це лише питання про те, що звичайні запити взагалі не є великими в реальних програмах? (Тоді цікаво дізнатися, який звичайний розмір запитів, що задаються реляційним системам баз даних, і який "максимальний" розмір запитів, на які, як очікується, ефективно відповідає система БД на практиці .)
Примітки до показникане `знімний '
Щоб показати, що показникне є знімним, можна скористатися запитом, запитуючи, чи існує клік розміру у графіку, заданому базою даних. Перевірити наявність графіка -clique є проблемою, що не стосується NP. Більше того, він не є фіксованим параметром, який можна відстежувати, з параметром . Деталі можна знайти, наприклад, у
Лібкіна, Л.: Елементи теорії кінцевої моделі. Springer (2004)
або
Papadimitriou, CH, Yannakakis, M .: Про складність запитів до бази даних. J. Comput. Сист. Наук. 58 (3), 407–427 (1999)n n n
SELECT * FROM users WHERE username="abc" AND passwrod="xyz"
) - це прості пошуки, для виконання яких потрібен O (| D |). Якщо є індекс відповідних полів бази даних, він буде приймати O (log | D |). Я не зайнятий базами даних, але не думаю, що складніші запити потребують експоненціального часу.