日期:2014-05-19  浏览次数:20551 次

怎么快速获取总的条数!
我现在数据库大概在4g左右.数据量在200w条.做了全文检索.但是在全文检索过程中需要知道按照条件查询的记录总数,但是每次都在30s左右.我想能不能把速度给搞快一点希望各位大虾回答.
我用的select   count(*)   from   table   where   ....

------解决方案--------------------
就这个方法.
select count(*) from table where

把某些你认为需要的字段加个索引
提高硬件质量
------解决方案--------------------
select count(*) from table where ....


建议把*号换成具体的列名
------解决方案--------------------
*號改成索引列名試試~~~
------解决方案--------------------
print @@rowcount
------解决方案--------------------
ls的对表操作@@rowcount返回的是0吧
------解决方案--------------------
Select rows from sysindexes where id=object_id(N 'tablename ') and indid <2
该方法获取表的记录总数的速度非常快,在毫秒级就可以完成,相比select count(*) 要快上数万倍,但是
大家在运用该方法是一定要主要,该方法得到的表的总记录数不是一个精确值,原因是MS SQL 并不是实时更
新该字段的值,而是定时更新,当从实践来看该值和精确值一般误差不大,如果你希望快速的粗略估算表的
大小,建议你采用该方法。如果你希望得到精确值,那么请在执行上述语句前执行
DBCC UPDATEUSAGE(DatabaseName,[TABLENAME]) WITH ROW_COUNTS
强制更新该字段的值,但这样第一次更新
时会耗费大量的时间,这样做的效果和建有聚簇索引的表 select count (*) 效果相差不大,所以如果你希
望相对快速地得到精确的表的记录总数,那么你有两种选择,建聚簇索引或者先DBCC 再使用上述方法。
sysindexs负责管理索引,object_id(object)返回对象ID,indid索引ID


------解决方案--------------------
ls的不对表操作的话@@rowcount返回的是0吧,@@rowcount返回的是上次对表操作的总行数
------解决方案--------------------
select count(col1) from table where
*比较慢
------解决方案--------------------
这里有个SQLSERVER海量数据库的查询优化及分页算法 你可以去看看 写的比较全面!
http://blog.csdn.net/great_domino/archive/2005/02/01/275839.aspx
------解决方案--------------------
select count(1) from table where
------解决方案--------------------
select count(*) from table ...........................
------解决方案--------------------
select count(1) from table where

------解决方案--------------------
select count(索引列) from table where
------解决方案--------------------
select rows from sysindexes where id = object_id( 'TableName ') and indid in (0,1)
最快。
但是不保证绝对准确

select count(1)
select count(*)
select count(主键)
select count(索引列)
都差不多,个人喜欢用count(1)


------解决方案--------------------
你都做了查询了,还用什么select count(*) ....啊
直接用@@rowcount不就行了
------解决方案--------------------
专业的搜索引擎技术提供商(磐志搜索),访问www.panzhi.net了解详细介绍。

第一,提高搜索速度,0.005秒;
第二、提高搜索准确性,专业的中文分词;
第三,智能分析关键词,纠错,相关词提取等;
第四、方法搜索 关键词的关系(与 或 非)等;
------解决方案--------------------
select count(1) from table where
支持这个
------解决方案--------------------
算一个约值就不行吗?


不行用CONTAINSTABLE来查询,不管怎么样,至少只需要执行一次查询了。



------解决方案--------------------
速度上来说,从快到慢,大概是这样排列的: