代码之家  ›  专栏  ›  技术社区  ›  kyndigs

SQL使用什么算法?[关闭]

  •  17
  • kyndigs  · 技术社区  · 14 年前

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

    SQL中使用哪种算法?很自然,你会搜索和比较基本的语句,什么搜索算法?分类?以及其他功能,如Join等。

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

    5 回复  |  直到 14 年前
        1
  •  8
  •   Randy Minder    14 年前

    我建议你拿一份 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

        2
  •  3
  •   MicSim    14 年前

    你可以看看 Craig Freedman's blog ,他讨论了一些SQL Server内部的问题。只需浏览有趣的主题。如果我理解正确的话,他还为前面提到的系列丛书“SQL Server内部”写了一些章节。

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

        3
  •  3
  •   subhash    14 年前

    连接通过三种方法执行: 一。嵌套循环 2。搞砸 三。合并

    在此处获取有关这些联接方法的详细信息:

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

        4
  •  1
  •   Victor Sorokin    14 年前

    RDBMS由几个元素组成:

    • 事务管理器——管理事务,从其名称可以明显看出:)
    • 物理存储管理器--管理数据如何存储在底层文件系统中
    • 查询解析器/规划器/执行器——这是数据库的“用户前端”

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

    如果您对RDBMS的内部内容感兴趣,请阅读本书: http://www.amazon.com/Database-Systems-Complete-Book-2nd/dp/0131873253/

        5
  •  1
  •   Christopher Klein    14 年前

    SQL是关系代数的超集。在它的基本层次上,您可能需要熟悉一些。 Relational Algebra