读书人

求最好的SQL忧化方法,35W数据进行检测

发布时间: 2012-03-29 12:53:13 作者: rapoo

求最好的SQL忧化方法,35W数据进行检测对指定字符串是否有重复值,奇慢无比,完成花费时间是18 秒呀,真让人无法接受,

江湖救急!

35W数据进行检测对指定字符串是否有重复值,奇慢无比,完成花费时间是18 秒呀,真让人无法接受,
我的SQL 语句如下:

SQL code
--数据库内有35W记录要进行检测是,declare @item_no char(50);declare @i int;set @i=0;set @item_no='P99-000000630092';--查询是否有重复的字段串,(当然实际字段是不相同的)while(@i<20)                    --GridView 上有20条记录要进行检测是否重复,所以这里需要20begin    SELECT  count(1) as temp    FROM    [v_mat_all_with_rdate] FULL join [Item_Code_table]     ON      [v_mat_all_with_rdate].[Item_ID]=[Item_Code_table].[ItemID]     WHERE   [v_mat_all_with_rdate].[Item_ID]=@item_no OR [Item_Code_table].[New_ItemID]=@item_no; set  @i=@i+1; end -- 以上是 编码检测是否重复--以下是描述检测是否重复declare @str char(500);set @str='拉布袋 色 600DPOLYL945*W825*H130mm 提手紫色并放在';declare @k int;set @k=0;while(@k<20)beginSELECT  count(1) as tempFROM    [v_mat_all_with_rdate] FULL join [Item_Code_table] ON      [v_mat_all_with_rdate].[Item_ID]=[Item_Code_table].[ItemID] WHERE     [Item_Code_table].[New_Description]=@str or [v_mat_all_with_rdate].[Description]=@str ;set @k=@k+1;end-- 完


求最好的SQL忧化方法,35W数据进行检测对指定字符串是否有重复值,奇慢无比,完成花费时间是18 秒呀,真让人无法接受,

[解决办法]
另外例如“SELECT count(1) .....”这种也显然是没有必要的。只要有两条(使用一个exists子查询)就应该停止去查找了,你既然只是要查重又何必去统计出其重复个数来呢?
[解决办法]
探讨

另外例如“SELECT count(1) .....”这种也显然是没有必要的。只要有两条(使用一个exists子查询)就应该停止去查找了,你既然只是要查重又何必去统计出其重复个数来呢?

读书人网 >asp.net

热点推荐