首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

初学者求一sql语句

2013-02-24 
菜鸟求一sql语句我写了一新闻自动抓取程序,在每抓取一条信息时都会查询数据库是否有同标题的新闻,如有就放

菜鸟求一sql语句
我写了一新闻自动抓取程序,在每抓取一条信息时都会查询数据库是否有同标题的新闻,如有就放弃,
一直用的select count(*)......语句,判断是否存在,但时间一长,现在新闻表里有40多万条了,现在一用select count(*)语句,在sqlserver里都要2分多钟时间,程序里都会报错。查了很多方法都不行。

现在我就想换一种方式,缩小表查询,我就查当前抓取的新闻标题,在前5000条里是否存在。

表有字段: F_ID(自增涨) F_Title(标题) 

求大虾解决一下, 我试试用这样的sql会不会减短时间。

[解决办法]
随机5000条中选择

select * from 
 (select top 5000  * from new order by NEWID())  a
 where F_Title=(select F_Title from new where F_ID=@@IDENTITY)
[解决办法]

引用:
楼主只是为了判断库了是否存在相同数据嘛,为什么要用count呢,count将会遍历所有数据,自然就慢了,为什么不用用exists呢。 记得给title上面加索引。

WHERE EXSIS(SELECT TOP 1 1 FROM [TABLE] WHERE F_Title = @Title)


笔误:
WHERE EXISTS(SELECT TOP 1 1 FROM [TABLE] WHERE F_Title = @Title)

热点排行