1

私はdapperとsolrを使用しています。solr から ID を取得した後、次のように db を照会しています。

var dbResults = await dbConnection.QueryAsync<Product>(@"SELECT  p.[ProductId] as Id]
                                                                        ,p.[Product] as [Name]
                                                                        ,p.[Price]
                                                                        ,p.[SeoLink]                                                                            
                                                                        ,p.[CategoryId]                                   
                                                            FROM [dbo].[Products] p with(nolock)                                                                
                                                            WHERE p.[ProductId] in @productsIds", new {productsIds = toGet}, commandTimeout: 2);

ID の数が 1 から 200 に変更されています。すべてのクエリが個別にキャッシュされるため、メモリの問題は発生しますか? どうすれば最適化できますか?(私はSQL azureでazureのWebサイトを使用していますが、ログには何も理由もなく500の内部サーバーエラーが時々発生します。)

4

1 に答える 1

1

.NET 側では、テキストと接続文字列のペアごとに 1 回だけキャッシュします。ここでの「テキスト」はブードゥー教の前の固定 TSQL クエリです。そのシナリオ用に生成された ILPackListParametersには、複数のパラメーターを追加して TSQL を変更する呼び出し(すべてのキャッシュ ステップなどの- exec の直前) が含まれます。

于 2013-04-11T06:09:56.323 に答える