关于inner jion, left jion ,right jion之间的执行性能,期望高手一起探讨
来源:互联网 发布:php开发工程师培训 编辑:程序博客网 时间:2024/06/14 09:59
首先我们先创建两个表:
CREATE TABLE [dbo].[Roles](
[Name] [nvarchar](50) NOT NULL,
[CreatedAt] [datetime] NOT NULL,
[UpdatedAt] [datetime] NOT NULL,
[Deleted] [bit] NOT NULL,
[RoleStatus] [int] NOT NULL,
[ID] [uniqueidentifier] NOT NULL,
[SystemID] [uniqueidentifier] NOT NULL,
[RoleKind] [int] NOT NULL,
CONSTRAINT [PK_Roles] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1=默认管理员角色,2=普通角色' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Roles', @level2type=N'COLUMN',@level2name=N'RoleKind'
GO
ALTER TABLE [dbo].[Roles] ADD CONSTRAINT [DF_Roles_Deleted] DEFAULT ((0)) FOR [Deleted]
GO
ALTER TABLE [dbo].[Roles] ADD CONSTRAINT [DF_Roles_RoleStatus] DEFAULT ((1)) FOR [RoleStatus]
GO
ALTER TABLE [dbo].[Roles] ADD CONSTRAINT [DF_Roles_RoleKind] DEFAULT ((2)) FOR [RoleKind]
GO
CREATE TABLE [dbo].[RoleFunctions](
[MappingID] [int] IDENTITY(1,1) NOT NULL,
[Status] [int] NOT NULL,
[RoleID] [uniqueidentifier] NOT NULL,
[FunctionID] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_RoleFunctions] PRIMARY KEY CLUSTERED
(
[MappingID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[RoleFunctions] ADD CONSTRAINT [DF_RoleFunctions_Status] DEFAULT ((0)) FOR [Status]
GO
以下是两个条SQL查询语句,但是不同的是一个是用inner jion,一个是用left jion,但是两个查询语句的执行计划差距非常大
/****** Script for SelectTopNRows command from SSMS ******/
SELECT [MappingID]
,[Status]
,[RoleID]
,[FunctionID]
FROM [RoleFunctions]
left join roles on roles.id = rolefunctions.functionid
SELECT [MappingID]
,[Status]
,[RoleID]
,[FunctionID]
FROM [RoleFunctions]
inner join roles on roles.id = rolefunctions.functionid
期望高手给予讲解……
- 关于inner jion, left jion ,right jion之间的执行性能,期望高手一起探讨
- JION,LEFT JION RIGHT JION FULL JION 联系与区别
- left join ,jion,right jion,full jion ,cross jion的区别
- left jion & right join
- sql中inner jion和left join以及right join之间的区别和联系
- 左连接(left jion)、右连接(right jion)、内连接(inner join)性能比较
- jion()
- jion
- sql语句中left jion、 right jion、 inner join、 full join含义
- sql(left join,right jion,inner join)连接详解
- inner join,full outer join,left join,right jion
- sql之left jion,right join,inner join之区别
- 关于linq的left jion连接
- INNER JOIN和LEFT JION和RITHT JION怎样理解?
- INNER JOIN和LEFT JION和RITHT JION怎样理解?
- SQL中的join的详细用法!inner join,full outer join,left join,right jion
- SQL中的join的详细用法!inner join,full outer join,left join,right jion
- SQL中的join的详细用法!inner join,full outer join,left join,right jion
- hadoop0.19.0版的包和类的分析
- java基础日志
- sizeof的个人总结
- Hibernate 中的连接(基于注解)
- 黑马程序员-005SQL语句锦集
- 关于inner jion, left jion ,right jion之间的执行性能,期望高手一起探讨
- pyside 中的中文字符
- 常见设计模式的解析和实现(C++)之六-Adapt模式
- insert into 后获得自动插入的id(select @@identity)
- UVA-414-Machined Surfaces
- getopt_long的用法
- EJB到底是什么?
- 在ubuntu server 8.04 下的打造mysql5.0的集群服务器
- MAC与IP的关系