0

PHP を使用して、パーティションからすべての行を取得しています。以下のメソッドを使用してすべての行を取得しています

http://www.windowsazure.com/en-us/develop/php/how-to-guides/table-service/#RetEntitiesInPartition

固有の問題に直面しています: 1 つのパーティションを使用している場合、結果が返されますが、OR 句で複数のパーティションを使用すると結果が返されません。

私には2つの問題のようです:

  1. OR 条件でパーティション化し、他の列をフィルター処理すると、何かが精神的に変わります。

  2. PHP SDK (バージョン 2.0) に問題があります

どんな助けでも大歓迎です、

  1. クエリには、Partition適切に使用される列があります。たとえば、このクエリを実行している場合 (2 つのパーティションに対して 10 行)

    ( cid eq '18831') and ( (PartitionKey eq '2013100606') or (PartitionKey eq '2013100607') )
    

    PHP スクリプトを使用した OR 句で partitionkey に複数の値がある場合、応答がありません。ストレージ エクスプローラー アプリケーションの使用 2 つのパーティションから 10 行をプルするのに 5 秒以上かかるようです。(私が持っているのは10行だけで、両方のパーティションに他のデータはありません)

1 つのパーティションのみにアクセスすると、行が返されます。

( cid eq '18831') and ( (PartitionKey eq '2013100607') )  // Works fine

各パーティションには10行あり、単一のパーティション値にアクセスすると正常に動作します。

また、expect100Continue を使用していて、Nagle がオフになっていることに注意してください。

      <servicePointManager expect100Continue="false" useNagleAlgorithm="false"/> 
    </settings> 
<connectionManagement> 
      <add address = "*" maxconnection = "48" /> 
    </connectionManagement>
4

1 に答える 1