none
sqlserver2000 count(*) 统计记录行数的时候大部分时间正确,偶尔会返回主键值是什么原因呢? RRS feed

  • 问题

  • sqlserver2000 count(*) 统计记录行数的时候大部分时间正确,偶尔会返回主键值是什么原因呢?谢谢啦
    2011年3月8日 3:26

答案

  • count(*) 不会出错

    在返回主键值时候是否和count值相等?可以对比一下。

    多数情况下喜欢用ID,identity作为pk,不考虑数据删除问题,主键最大值=count值。

    ps,是否是你sql逻辑有问题导致返回结果在某些条件下变化了呢?

     


    family as water
    • 已标记为答案 Ai-hua Qiu 2011年3月15日 13:03
    2011年3月8日 3:42

全部回复

  • count(*) 不会出错

    在返回主键值时候是否和count值相等?可以对比一下。

    多数情况下喜欢用ID,identity作为pk,不考虑数据删除问题,主键最大值=count值。

    ps,是否是你sql逻辑有问题导致返回结果在某些条件下变化了呢?

     


    family as water
    • 已标记为答案 Ai-hua Qiu 2011年3月15日 13:03
    2011年3月8日 3:42
  • Update stats on the table then try again.
    2011年3月8日 4:20
  • Update Stats 跟 Count(*) 结果无关吧

    在2000里,若没有Where,则可直接查询SysIndexes where Index_ID<=1 的 Rows


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
    2011年3月8日 7:21
  • sqlserver2000 count(*) 统计记录行数的时候大部分时间正确,偶尔会返回主键值是什么原因呢?谢谢啦

    什么叫返回主键值?
    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2011年3月11日 5:25
    版主