我有一个客户端,它可以生成有限数量的并发Web请求.我为此目的使用WebClient.我目前有一个WebClient-s池,我创建一次并使用任何一个空闲的.
这种方法虽然变得有点麻烦,但我想知道预先构建的WebClient实例集合是否有任何好处,或者是否在运行中创建它们不会太麻烦?
我写了一个存储过程,昨天通常在一秒钟内完成.今天,大约需要18秒.我昨天遇到了问题,它似乎通过DROPing和重新创建存储过程来解决.今天,这个技巧似乎没有奏效.:(
有趣的是,如果我复制存储过程的主体并将其作为简单的查询执行,它会很快完成.事实上,这是一个存储过程会减慢它的速度......!
有谁知道问题可能是什么?我已经搜索了答案,但他们经常建议通过查询分析器运行它,但我没有 - 我现在正在使用SQL Server 2008 Express.
存储过程如下;
ALTER PROCEDURE [dbo].[spGetPOIs]
@lat1 float,
@lon1 float,
@lat2 float,
@lon2 float,
@minLOD tinyint,
@maxLOD tinyint,
@exact bit
AS
BEGIN
-- Create the query rectangle as a polygon
DECLARE @bounds geography;
SET @bounds = dbo.fnGetRectangleGeographyFromLatLons(@lat1, @lon1, @lat2, @lon2);
-- Perform the selection
if (@exact = 0)
BEGIN
SELECT [ID], [Name], [Type], [Data], [MinLOD], [MaxLOD], [Location].[Lat] AS [Latitude], [Location].[Long] AS [Longitude], [SourceID]
FROM [POIs]
WHERE
NOT ((@maxLOD [MaxLOD])) AND
(@bounds.Filter([Location]) = 1)
END …