mysql中join算法实现原理分析--

mysql中join算法实现原理分析--

ID:9491689

大小:71.50 KB

页数:9页

时间:2018-05-01

mysql中join算法实现原理分析--_第1页
mysql中join算法实现原理分析--_第2页
mysql中join算法实现原理分析--_第3页
mysql中join算法实现原理分析--_第4页
mysql中join算法实现原理分析--_第5页
资源描述:

《mysql中join算法实现原理分析--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MySQL中Join算法实现原理分析>>  在MySQL中,只有一种Join算法,就是大名鼎鼎的NestedLoopJoin,他没有其他很多数据库所提供的HashJoin,也没有SortMergeJoin。顾名思义,NestedLoopJoin实际上就是通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下一个表中查询数据,然后合并结果。如果还有第三个参与Join,则再通过前两个表的Join结果集作为循环基础数据,再一次通过循环查询条件到第三个表中查询数据,如此往复。  还是通

2、过示例和图解来说明吧,后面将通过我个人数据库测试环境中的一个example(自行设计,非MySQL自己提供)数据库中的三个表的Join查询来进行示例。  注意:由于这里有些内容需要在MySQL5.1.18之后的版本中才会体现出来,所以本测试的MySQL版本为5.1.26  表结构:1 skylocalhost : example 11:09:32> shot_create` datetime NOT NULL,16 17 `gmt_modified` datetime NOT NULL,18 19 `s

3、tatus` varchar(16) NOT NULL,20 21 KEY `idx_user_group_uid` (`user_id`)22 23 ) ENGINE=MyISAM DEFAULT CHARSET=utf824 25 1 rople 11:10:32> shoessageG28 29 *************************** 1. roessage32 33 Create Table: CREATE TABLE `group_message` (34 35 `id` in

4、t(11) NOT NULL AUTO_INCREMENT,36 37 `gmt_create` datetime NOT NULL,38 39 `gmt_modified` datetime NOT NULL,40 41 `group_id` int(11) NOT NULL,42 43 `user_id` int(11) NOT NULL,44 45 `author` varchar(32) NOT NULL,46 47 `subject` varchar(128) NOT NULL,48 49 PRIM

5、ARY KEY (`id`),50 51 KEY `idx_group_message_author_subject` (`author`,`subject`(16)),52 53 KEY `idx_group_message_author` (`author`),54 55 KEY `idx_group_message_gid_uid` (`group_id`,`user_id`)56 57 ) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf858 5

6、9 1 rople 11:10:43> shoessage_contentG62 63 *************************** 1. roessage_content66 67 Create Table: CREATE TABLE `group_message_content` (68 69 `group_msg_id` int(11) NOT NULL,70 71 `content` text NOT NULL,72 73 KEY `group_message_content_msg_

7、id` (`group_msg_id`)74 75 ) ENGINE=MyISAM DEFAULT CHARSET=utf876 77 1 ro.subject msg_subject, c.content msg_content2 3 from user_group g,group_message m,group_message_content c4 5 .group_id = g.group_id8 9 and c.group_msg_id = m.id 123下一页>>>>这篇文章来自..,。看看我们的

8、Query的执行计划:1 skylocalhost : example 11:17:04> explain select m.subject msg_subject, c.content msg_content2 3 -> from user_group g,group_message m,group_message_content c4 5 -> .group_id = g.gr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。