zoukankan      html  css  js  c++  java
  • 保持查询语法指示的联接顺序Option(Force order)

    Option(Force order)

    今天和大家分享一下 SQL中强制执行联接顺序Option(Force Order)

    一、SQL本身SQL引擎优化已经做的非常好了,但是也有默认的多表连接引擎效果达不到我们期望的值,

      因此我们需要强制执行我们多表联接顺序。

      eg:

    CREATE TABLE #Student (   RowId int identity(1,1),   Name varchar(50),   Age int ) GO

    CREATE Table #Course (    StudentNo int ,    CourseType Varchar(50) ) GO

    insert INTO #Student VALUES('Tom',21)

    insert INTO #Student VALUES('Jerry',22)

    insert INTO #Student VALUES('John',23)

    INSERT INTO #Course VALUES(1,'语文')

    INSERT INTO #Course VALUES(1,'数学')

    INSERT INTO #Course VALUES(1,'英语')

    INSERT INTO #Course VALUES(1,'化学')

    INSERT INTO #Course VALUES(2,'语文')

    INSERT INTO #Course VALUES(2,'数学')

    INSERT INTO #Course VALUES(3,'英语')

    INSERT INTO #Course VALUES(3,'化学')

    GO

    由上图结果 我们明显发现 SQL搜索引擎默认 都选择#Student表做我们的基表 执行内连接

    但实际上我们第二段SQL想#Course做为我们的基表 执行

    这时 我们在需要 Option(Force Order) 强制按照我们的连接顺序执行

    SQL默认引擎优化不是最优的执行计划时 此语句就是我们期望的了

  • 相关阅读:
    POJ 3411 Paid Roads(DFS)
    POJ 1699 Best Sequence(DFS)
    Codeforces Round #191 (Div. 2)
    Windows && Linux 搭建python开发环境
    zabbix 源码编译安装
    智能运维基础设施
    Redis
    ubuntu16.04 安装 mysql
    Python必须知道的基础语法
    ubuntu && CentOS && RedHat 离线安装docker
  • 原文地址:https://www.cnblogs.com/tx720/p/5484583.html
Copyright © 2011-2022 走看看