首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

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

求最好的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='拉鏈布袋 銀色 600D國POLYL945*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子查询)就应该停止去查找了,你既然只是要查重又何必去统计出其重复个数来呢?

热点排行