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);

ids 的数量从 1 变为 200。我会因为每个查询都被单独缓存而出现内存问题吗?任何想法如何优化它?(我正在使用带有 sql azure 的 azure 网站,并且不时出现 500 个内部服务器错误,没有任何原因,日志中没有任何内容。)

4

1 回答 1

1

好吧,在 .NET 方面,我们只对每个文本/连接字符串对缓存一次,这里的“文本”是在任何 voodoo 之前的固定 TSQL 查询。为该场景生成的ILPackListParameters包括一个调用(所有缓存步骤等之后 - 就在 exec 之前),它添加了多个参数并更改了 TSQL。

于 2013-04-11T06:09:56.323 回答