你是这么设置的吗:dbcc pintable(数据库id,对象id)

解决方案 »

  1.   

    上面那个 dbcc pintable(数据库id,对象id) 在2008的语法是可以用的,但是没有用,不会对服务一有影响,也就是不会起作用。
    if OBJECT_ID('a') is not null
       drop table a
    go--1.新建一个表
    select * into a
    from sys.objects
    --2.查询表
    select * from a
    --3.能查询,是否缓存在内存中了
    select db_name(database_id),
           file_id,
           page_id,
           page_type,
           is_modified,       
           o.name as table_name      
           
    from sys.dm_os_buffer_descriptors d
    inner join sys.allocation_units au
            on au.allocation_unit_id = d.allocation_unit_id
    inner join sys.partitions p
            on au.container_id = p.hobt_id
    inner join sys.objects o
            on p.object_id = p.object_id
    where o.type_desc = 'USER_TABLE'
          and o.is_ms_shipped = 0
          and d.database_id = 数据库id
    order by page_id
      

  2.   


    此功能是为了在 SQL Server 版本 6.5 中获得良好性能而提供的。DBCC PINTABLE 具有非常不利的副作用。其中包括可能损坏缓冲池。DBCC PINTABLE 不是必需的,并且已被删除以免产生其他问题。此命令的语法仍然有效,但不会影响服务器。DBCC PINTABLE (Transact-SQL)
    http://technet.microsoft.com/zh-cn/library/ms178015(v=sql.90).aspx
      

  3.   

    非常感谢兄的回复,如果是这样,那只好另想办法了。
    通过监视器我发现大量的资源都浪费到从这个表里往出读数据,兄是否有能给指点下,怎么才能提高效率。现在我的方式是在是太慢了。是怎样的语句?是这样吗:select * from 表
      

  4.   

    非常感谢兄的回复,如果是这样,那只好另想办法了。
    通过监视器我发现大量的资源都浪费到从这个表里往出读数据,兄是否有能给指点下,怎么才能提高效率。现在我的方式是在是太慢了。是怎样的语句?是这样吗:select * from 表
    不是,等下我给你贴出来.
      

  5.   

    哦,对了你说你用的是试用版,是express,还是评估版本呢?这个版本是所有的功能都有吗?
      

  6.   

    USE SHJV
    DECLARE a_cursor CURSOR FAST_FORWARD  FOR SELECT FUHAO FROM SHJVA
    OPEN a_cursor
    FETCH NEXT FROM a_cursor INTO @ZIFU-----这个是最费时的
    WHILE @@FETCH_STATUS = 0
      BEGIN
        (这部分里没有任何查询,只是一些简单的运算)
      END
    FETCH NEXT FROM a_cursor INTO @ZIFU
      

  7.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850
      

  8.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试
      

  9.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?
      

  10.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
      

  11.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
    可以的,只要从库里读出来抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
    可以的,只要把数据从库里每读一次赋给@ZIFU就好。
    是不是不用游标可以快些?
      

  12.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
    可以的,只要从库里读出来抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
    可以的,只要把数据从库里每读一次赋给@ZIFU就好。
    是不是不用游标可以快些?如果是必须每次读出一列,然后赋值给@ZIFU,那就只能用游标了,其他也没什么太好的办法
      

  13.   

    抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
    可以的,只要从库里读出来抱歉,我不是很懂这个。
    我是从这里下的:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8850你用的是游标是吧,你试试建一个索引:create index idx_SHJVA_fuhao on SHJVA(FUHAO)然后再运行试试

    是游标,我试了下,没有什么变化。是否还有其它建议,运行一组数据这个查询将近用一半的时间。
    如果我用内存虚拟一个硬盘可以不?能不能不用游标呢,直接用语句来实现,你的计算
    可以的,只要把数据从库里每读一次赋给@ZIFU就好。
    是不是不用游标可以快些?如果是必须每次读出一列,然后赋值给@ZIFU,那就只能用游标了,其他也没什么太好的办法
    好的,非常感谢