SQL使用什么算法?

时间:2010-11-12 12:27:29

标签: sql-server algorithm sql

我一直想知道这一点,但从来没有机会研究它。

SQL中使用了哪种算法?当然,您搜索并比较基本语句,搜索算法是什么?排序?以及Join等的其他功能

我知道这些问题没有明确的答案,但我们的想法是收集SQL用于执行其工作的方法的一般概念。

5 个答案:

答案 0 :(得分:8)

我建议你从Delaney,Randal,Tripp等处获得SQL Server 2008 Internals的副本。关于SQL Server内部工作的优秀书籍。

http://www.amazon.com/Microsoft-SQL-Server-2008-Internals/dp/0735626243/ref=sr_1_1?s=books&ie=UTF8&qid=1289565465&sr=1-1

答案 1 :(得分:3)

您可以查看Craig Freedman's blog,其中讨论了一些SQL Server内部。只需浏览有趣的主题。如果我理解正确的话,他还为已经提到的系列文章“SQL Server Internals”写了一些章节。

以下3个链接阐明了不同的JOIN算法如何在内部工作:

答案 2 :(得分:3)

联接以三种方式执行: 1.嵌套循环 哈希 3.合并

在此处详细了解这些联接方法:

http://www.sqlservercentral.com/articles/Advanced+Querying/optimizerjoinmethods/1708/

答案 3 :(得分:1)

RDBMS由几个元素组成:

  • 交易管理器 - 管理交易,从其名称可以看出:)
  • 物理存储管理器 - 管理存储在基础文件系统中的数据
  • 查询解析器/计划程序/执行程序 - 这是数据库的“用户前端”

这些元素中的每一个对于任何RDBMS都是必不可少的,并且使用不同的算法集来使其自身工作。

如果您对RDBMS的内部感兴趣,那就给自己写一下这本书:http://www.amazon.com/Database-Systems-Complete-Book-2nd/dp/0131873253/

答案 4 :(得分:1)

SQL是关系代数的超集。在基础层面,你可能想要熟悉一些。 Relational Algebra