リレーショナルデータベースの一般的なクエリ言語では、回答に多くのリソースを必要とするクエリを作成できるようです。実際には、データベース管理者は、クエリごとのメモリの量を制限し、データベースに速度低下がある場合は長時間実行されているクエリをチェックすることでこれを管理します。これはその場限りのようですが、これに対するTCSソリューションはありますか?
効率的なクエリのみを実装できるクエリ言語はありますか?
そのような言語がない場合、これには理論的な理由がありますか?
このようなことが存在するか、少なくとも理にかなっていると私が予想するいくつかの理由:
- 効率的な計算のみを実装するように特別に設計されたプログラミング言語があります(通常、型システムに制限的なロジックがあることにより)
- 一般的なクエリ言語(SQLなど)は既にロジックに触発されているため、データベースユーザーがより制限的なロジックを検討することは一見のようではありません。
- 悪意のないデータベースユーザーは、迅速に実行されるクエリの準備を既に試みているため、これらのより制限的なクエリ言語は悪意のあるユーザーのみを妨害すると期待する必要があります。
この質問は、前の2つの質問の交差点に触発されています。
答えの発見の理論的な指数関数的複雑さ(クエリのサイズ)を考えると、なぜリレーショナルデータベースがまったく機能しないのですか?