随笔分类 -  database

从Search Sort到Join
摘要:发表于《程序员》2015年4月B的一篇文章,在博客归档下。根据杂志社要求,在自己博客发表该文章亦须注明:本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@) Join原理在数据库厂商的文档中和经典的《数据库系统概念》中分别从应用和理论的角度上描述的足够详细。本文尝试从另外一个视角,通过数据结构中最基础的查找排序算法(Search&Sort)来类推和归纳最常用的三种Join方式的原理:嵌套循环连接(Nested Loop Join)、排序归并连接 (Sorted Merge Join)、 哈希连接(Hash Join)。进而了解三种方式之间的联系、演变以及原理决定的其应用上的细微差别。说明这几种表连接方式是数据库的技术,但和数据库索引等其他数据库技术一样,也是是典型的数据结构的延伸。 阅读全文

posted @ 2015-05-07 15:16 idouba.net 阅读(569) 评论(0) 推荐(0)

B树在数据库索引中的应用剖析
摘要:重点介绍数据结构中最经典的树(B树)在数据库索引中最经典的的几种应用,也会涉及到几种数据库中对此支持的细微不同,以期比较完整的讲明白其实现原理。最终会发现这几种被不同数据库厂商冠以不同名字东西原理上其实差不多,理论上其实是一个东西。本文只是略微空洞的介绍其实现,不涉及有任何具体的使用建议。 阅读全文

posted @ 2014-04-08 15:54 idouba.net 阅读(1043) 评论(0) 推荐(0)

从Count看Oracle执行计划的选择
摘要:试图从最简单的count来重新了解oracle查询计划的选择,以及最终产生的结果。虽然有些结果会让人觉得有些意外,并且可能会鄙视,这个查询计划选择真的不够聪明。但稍微用心点的去了解,做的已经足够细致了。大多数情况下,根据我们输入的信息,来自输入的SQL、表结构、索引状况、统计信息,会得出一个比较优的计划。所以和前面一直试图讲到索引和join方式一样,所有这样的选择不是因为数据库厂商这样规定的,而是基于存储的数据的实际情况,就应该(甚至说不得不)这么去选择。 阅读全文

posted @ 2014-03-28 11:12 idouba.net 阅读(1781) 评论(1) 推荐(1)

导航