mysql執行計畫id為空(UNION關鍵字)詳解

2022-09-26 00:12:09 字數 2313 閱讀 7095

簡介

在工作過程中,有時候會對慢查詢進行調優。對於mysql的sql語句調優,mysql本身提供了強大的explain關鍵字用於查詢分析執行計畫。本文主要給大家介紹了關於mysql執行計畫id為空(union關鍵字)的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的 介紹吧

union 操作符用於合併兩個或多個 select 語句的結果集。例如,我有兩個表,表1記錄的是公司男員工的資料,包括年齡、姓名、職位。表2記錄的是公司女員工的資料,包括姓名、家庭住址、手機號等字段。這時,我們想要根據一定條件,程式設計客棧查詢兩個表的姓名的集合。就會用到 union 關鍵字。

union 可以查詢多個字段,不過 select 語句必須擁有相同數量的列。列也必須擁有程式設計客棧相似的資料型別。同時,每條 select 語句中的列的順序必須相同。

語法select column_name(s) from table_name1

union

select column_name(s) from table_name2

union 操作符會對結果集進行去重。如果允許重複值,可以用 union all 兩者除去重功能外,沒有其他區別。

例項這裡的例項,就以簡介裡的介紹為需求,建立兩個**,並且進行相應的操作。

首先,建立user1,user2 兩個**,建表語句如下:

-- 建表語句

create table user1 (

id int,

age int,

name varchar (5),

position varchar (8)

);create table user2 (

id int,

name varchar(5),

address varchar(50),

phone_number varchar(20)

)其次,插入對應資料,sql如下:

-- 資料插入語句

insert into user1

values

( 1,

20,'張三',

'技術主管'

);insert into user1

values

( 2,

20,'李四',

'產品主管'

);insert into user1

values

( 3,

20,'王五',

'運營主管'

);insert into user1

values

( 4,

20,'趙六',

'後勤主管'

) insert into user2 (

id,name,

address,

phone_number

)values

( 1,

'珍珍',

'北京',

'155332211'

);insert into user2 (

id,name,

address,

phone_number

)values

( 2,

'蓮蓮',

'上海',

'155332211'

);insert into user2 (

id,name,

address,

程式設計客棧phone_number

)values

( 3,

'**',

'深圳',

'155332211'

);最後,執行union語句,進行查詢

-- union 語句

select name from user1

iooikbzirv union

select name from user2

**執行後,得到結果如下:

這裡的結果集中的列名為union語句的第乙個select語句的列名(user1 為name ,user2 為name)。

explain的時候,id為null

在執行union的執行計畫的時候,最後乙個合併結果集的操作的執行id為null。而且,第乙個執行的select_type為簡單查詢,第二個及以後的查詢為union,最後合併時的select_type為union result。

執行計畫**如下:

explain select name from user1

union

select name from user2

結果如下:

總結本文標題: mysql執行計畫id為空(union關鍵字)詳解

本文位址: /shujuku/mysql/239540.html

mysql執行計畫id為空 UNION關鍵字

簡介 union 操作符用於合併兩個或多個 select 語句的結果集。例如,我有兩個表,表1記錄的是公司男員工的資料,包括年齡 姓名 職位。表2記錄的是公司女員工的資料,包括姓名 家庭住址 手機號等字段。這時,我們想要根據一定條件,查詢兩個表的姓名的集合。就會用到 union 關鍵字。union ...

mysql執行計畫id為空 UNION關鍵字

簡介 union 操作符用於合併兩個或多個 select 語句的結果集。例如,我有兩個表,表1記錄的是公司男員工的資料,包括年齡 姓名 職位。表2記錄的是公司女員工的資料,包括姓名 家庭住址 手機號等字段。這時,我們想要根據一定條件,查詢兩個表的姓名的集合。就會用到 union 關鍵字。union ...

mysql執行計畫 MySQL 執行計畫

1.執行計畫的定義 什麼是執行計畫 查詢計畫 呢?執行計畫就是一系列的操作步驟。sql是宣告性語言,它只告訴資料庫要查詢什麼,但並不告訴資料庫如何去查。資料庫所要做的就是基於演算法和統計資訊計算出一條最佳的訪問路徑。這個工作是由優化器來完成的。優化器會比較不同的執行計畫,然後選擇其中最優的一套。2....