ウィキペディアでAppEngineについて読んでいて、GQLの制限に遭遇しました。
JOINはサポートされていません
一度に最大1つのテーブルから選択できます
WHERE句に最大1列を配置できます
これらの制限の利点は何ですか?
これらの制限は、スケーラビリティが優先される他の場所で一般的ですか?
ウィキペディアでAppEngineについて読んでいて、GQLの制限に遭遇しました。
JOINはサポートされていません
一度に最大1つのテーブルから選択できます
WHERE句に最大1列を配置できます
これらの制限の利点は何ですか?
これらの制限は、スケーラビリティが優先される他の場所で一般的ですか?
GQL が対話するデータストアは次のとおりです。
このようなデータベースを使用する理由の 1 つは、何百ものサーバーに拡張できる非常に高性能なデータベースを使用するためです。
GQL は SQL ではなく、SQL に似ています。
ここにいくつかの参照があります:
答えは、実際には、利用可能なものに対するあらゆる種類の制限ではなく、データストアの基盤となるテクノロジーに関係していると思います. Google は内部でリレーショナル データベースを使用していませんが、 BigTableの代わりに、SQL のようなクエリを使用して、リレーショナル データベースの使用に慣れているユーザーの学習曲線を制限する優れた API を追加しました。ORM の使用に慣れている人にとっては、アヒルのように水を飲むようになります。
既存の回答は、高レベルの質問でうまく機能します。
追加の注意: あなたが言及した 3 番目の制限は、実際には当てはまりません。GQL クエリでは、WHERE 句に必要な数の列を含めることができます。いくつかの注意点がありますが、列の数は明示的に制限されていません。もっと:
http://code.google.com/appengine/docs/python/datastore/queries.html