2012-05-31 34 views
0

一些可能没有多大意义,但:SQL SERVER:内部工作

  1. SQL代码的解释或编译(到什么)?
  2. 什么是连接翻译成 - 我的意思是一些循环或什么?
  3. 算法复杂性分析是否适用于查询,例如,是否有可能通过选择的行数来写入非常差的select - exponential?如果是的话如何分析查询?
+0

太宽泛,可以负责。 –

+0

关于数据库的工作有很多书。这是一个很好的问题,但不适合这个论坛。 –

回答

1

嗯......相当普遍的问题,所以一些很一般的答案

1)SQL代码解释或编译(到什么)?

将SQL代码编译到执行计划中。

2)什么是连接翻译成 - 我的意思是一些循环或什么?

取决于连接和你加入的表格(据我所知)。 SQL Server有一些连接原语(散列连接,嵌套循环连接),具体取决于SQL代码中涉及的对象,查询优化器尝试选择最佳选项。

3)不是真的是适用于查询的算法复杂性分析,例如有可能通过选择的行数写入非常差的select - exponential?如果是的话如何分析查询?

不太确定,你是什么意思。但也有情况下,你可以使用

SELECT TOP 1 col FROM Table ORDER BY col DESC 
桌子上

不会对山坳索引找到山坳最大的州值,而不是

SELECT MAX(col) FROM Table 

你应该做的非常糟糕的事情,比如你的掌握SQL Server内部系列的部分/全部书籍。他们非常优秀,涵盖了很多细节。