积极答复者
请问 SQL SERVER 2005 开始的String summary如何实现的呢?

问题
答案
-
就是trie tree没错。不过这东西跟前缀有啥关系?它是把这个字符串分拆开来解析的。
想不想时已是想,不如不想都不想。- 已建议为答案 Molly Chen_Moderator 2011年10月12日 5:05
- 已标记为答案 Molly Chen_Moderator 2011年10月12日 5:05
全部回复
-
就是trie tree没错。不过这东西跟前缀有啥关系?它是把这个字符串分拆开来解析的。
想不想时已是想,不如不想都不想。- 已建议为答案 Molly Chen_Moderator 2011年10月12日 5:05
- 已标记为答案 Molly Chen_Moderator 2011年10月12日 5:05
-
SQL Server没有公开的string summary实现细节的文档。你是不是要看源代码啊?你知道什么是trie tree吗?
首先再次感谢你的回复,但是我并不认为如你想象的那么简单,
想不想时已是想,不如不想都不想。
trie tree我当然知道啊,相关的论文我都找到了,不过'%Abingdon%'的string summary的算法并不像'Abingdon%'的那么简单,一个trie tree就可以解释了。
因为它除了trie tree外,还用到了 independence assumptions 跟 Markov assumptions等算法,我不知道你是否清楚这一点?
当然,根据你理解的算法,如果你能算出下面那篇文章里EstimateRows的值为19.81,这个19.81是怎么来的。那我想你是清楚了.
“为什么SQL Server也能够预估到19.81行(EstimateRows”。。。。
http://blogs.msdn.com/b/apgcdsd/archive/2011/10/01/10158443.aspx
有关论文你具体的你可以看一下下面:
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=1&f=G&l=50&co1=AND&d=PTXT&s1=7,149,735.PN.&OS=PN/7,149,735&RS=PN/7,149,735随便说一下,源代码我当然想看啦,问题是搞得到吗,哈哈
- 已编辑 Jacky_shen 2011年10月10日 3:35
-
像'Abingdon%'并不需要string summary,statistic以前就有了,Microsoft SQL Server用的是一个patent pending的算法。
源代码能搞得到,就是不可以给你看,哈哈
想不想时已是想,不如不想都不想。'Abingdon%'的是比较简单,这个我知道的,
哈哈,啥时候等我强了也去面面 SQL Server Storage Engine Team或者Performance team ,偷看偷看SC,嘻嘻
- 已编辑 Jacky_shen 2012年3月20日 6:10