Здається, що в популярних мовах запитів для реляційних баз даних можна створити запити, на які буде потрібно багато ресурсів, щоб відповісти. На практиці адміністратори бази даних керують цим, обмежуючи об'єм пам'яті на запит і перевіряючи наявність тривалих запитів, чи є уповільнення роботи бази даних. Це здається досить тимчасовим, чи є рішення TCS для цього?
Чи існують мови запитів, які можуть реалізувати лише ефективні запити?
Якщо таких мов немає, чи є теоретична причина цього?
Деякі причини, чому я можу очікувати, що подібні речі існуватимуть чи принаймні мають сенс:
- у нас є мови програмування, спеціально розроблені для того, щоб реалізовувати лише ефективні обчислення (зазвичай, маючи певну обмежувальну логіку у своїй системі типів)
- популярні мови запитів (наприклад, SQL) вже натхненні логікою, тому користувачам бази даних не здається розтягнутим розгляд більш обмежувальної логіки.
- користувач бази даних, який не містить зловмисних програм, вже намагається підготувати запити, які швидко виконуються, тому слід очікувати, що ці більш обмежені мови запитів лише перешкоджають шкідливим користувачам.
Це питання натхнене перетином двох попередніх питань: