none
SQL SERVER 执行Hash join 过程中有关buckets 相关的信息 RRS feed

  • 问题

  • 问大家一个问题,SQL SERVER 里怎么样能DUMP出像Oracle里跟踪hash join 输出的有关内存中buckets 分布的相关信息呢?也就是Oracle里Trace Event 10104的功能在SQL Server里怎么现实,如下面的例子的那样。
    http://www.cnblogs.com/killkill/archive/2010/07/22/1782889.html

     注意输出的信息中一定要有buckets 的信息,这样才能判断出真正的性能问题产生的原因。

    谢谢!

    2010年9月21日 8:38

全部回复

  • 唉~难道这个问题真的那么难吗,一个回复都没有
    2010年11月26日 5:21
  • sql dump出来的内容和oracle又不一样,dump出来你也看不懂啊。你要知道分布值容易得很啊,查一下原表就知道了。

    perf tuning不是看了别人的一篇文章然后依葫芦画瓢就可以的。


    想不想时已是想,不如不想都不想。
    2010年11月27日 2:07
    版主
  • sql dump出来的内容和oracle又不一样,dump出来你也看不懂啊。你要知道分布值容易得很啊,查一下原表就知道了。

    perf tuning不是看了别人的一篇文章然后依葫芦画瓢就可以的。


    想不想时已是想,不如不想都不想。


    谢谢你的答复,我想问一下你说的原表是指什么?

    比如说我想知道有多少条数据通过HASH计算后,映射到bucket[0],又多少条映射到bucket[1],......bucket[n],

    能说一下详细的方法吗?

    2010年11月29日 5:47
  • hash运算只是找一个位置放而已,你直接对源数据group by,然后求count就可以了
    想不想时已是想,不如不想都不想。
    • 已标记为答案 Jacky_shen 2010年11月29日 9:32
    • 取消答案标记 Jacky_shen 2010年11月30日 7:31
    2010年11月29日 6:39
    版主
  • hash运算只是找一个位置放而已,你直接对源数据group by,然后求count就可以了
    想不想时已是想,不如不想都不想。


    这个我知道,但是如果我偏想查看内存中详细的bucket的相关信息时,我觉得SQL Server好像做不到,至少是不容易做到。

     

    2010年11月29日 8:45