国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

CaseMySQL使用left join的時候or改寫成union能提高效率

2024-07-24 12:36:09
字體:
來源:轉載
供稿:網(wǎng)友
  Case:MySQL使用left join的時候or改寫成union可以提高效率

  (1)優(yōu)化前:使用or的時候,SQL執(zhí)行時間1.47s
 
  mysql> select e.emp_no,e.first_name,d.dept_no,d.from_date,d.to_date from employees e left join dept_emp d on e.emp_no=d.emp_no where e.emp_no=32000 or d.from_date='1996-11-24';
  58 rows in set (1.47 sec)
 
  mysql> desc select e.emp_no,e.first_name,d.dept_no,d.from_date,d.to_date from employees e left join dept_emp d on e.emp_no=d.emp_no where e.emp_no=32000 or d.from_date='1996-11-24';
  +----+-------------+-------+------------+------+----------------+---------+---------+--------------------+--------+----------+-------------+
  | id | select_type | table | partitions | type | possible_keys  | key     | key_len | ref                | rows   | filtered | Extra       |
  +----+-------------+-------+------------+------+----------------+---------+---------+--------------------+--------+----------+-------------+
  |  1 | SIMPLE      | e     | NULL       | ALL  | PRIMARY        | NULL    | NULL    | NULL               | 299335 |   100.00 | NULL        |
  |  1 | SIMPLE      | d     | NULL       | ref  | PRIMARY,emp_no | PRIMARY | 4       | employees.e.emp_no |      1 |   100.00 | Using where |
  +----+-------------+-------+------------+------+----------------+---------+---------+--------------------+--------+----------+-------------+
  2 rows in set, 1 warning (0.00 sec)
  mysql> select e.emp_no,e.first_name,d.dept_no,d.from_date,d.to_date from employees e left join dept_emp d on e.emp_no=d.emp_no where e.emp_no=32000
        ->  union
        -> select e.emp_no,e.first_name,d.dept_no,d.from_date,d.to_date from employees e left join dept_emp d on e.emp_no=d.emp_no where d.from_date='1996-11-24';
  58 rows in set (0.23 sec)
 
  mysql> desc select e.emp_no,e.first_name,d.dept_no,d.from_date,d.to_date from employees e left join dept_emp d on e.emp_no=d.emp_no where e.emp_no=32000 union  select e.emp_no,e.first_name,d.dept_no,d.from_date,d.to_date from employees e left join dept_emp d on e.emp_no=d.emp_no where d.from_date='1996-11-24';
  +----+--------------+------------+------------+--------+----------------+---------+---------+--------------------+--------+----------+-----------------+
  | id | select_type  | table      | partitions | type   | possible_keys  | key     | key_len | ref                | rows   | filtered | Extra           |
  +----+--------------+------------+------------+--------+----------------+---------+---------+--------------------+--------+----------+-----------------+
  |  1 | PRIMARY      | e          | NULL       | const  | PRIMARY        | PRIMARY | 4       | const              |      1 |   100.00 | NULL            |
  |  1 | PRIMARY      | d          | NULL       | ref    | PRIMARY,emp_no | PRIMARY | 4       | const              |      1 |   100.00 | NULL            |
  |  2 | UNION        | d          | NULL       | ALL    | PRIMARY,emp_no | NULL    | NULL    | NULL               | 331143 |    10.00 | Using where     |
  |  2 | UNION        | e          | NULL       | eq_ref | PRIMARY        | PRIMARY | 4       | employees.d.emp_no |      1 |   100.00 | NULL            |
  | NULL | UNION RESULT | <union1,2> | NULL       | ALL    | NULL           | NULL    | NULL    | NULL               |   NULL |     NULL | Using temporary |
  +----+--------------+------------+------------+--------+----------------+---------+---------+--------------------+--------+----------+-----------------+
  5 rows in set, 1 warning (0.00 sec)。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 德惠市| 罗城| 莱阳市| 满洲里市| 苏尼特右旗| 江津市| 扎鲁特旗| 儋州市| 扎赉特旗| 龙海市| 滕州市| 南漳县| 稻城县| 诸暨市| 读书| 邛崃市| 永顺县| 岳西县| 三原县| 罗江县| 西乡县| 尚志市| 齐河县| 峨眉山市| 正镶白旗| 溧水县| 定结县| 嘉黎县| 新津县| 屏南县| 安图县| 台中县| 新闻| 凤山县| 嘉定区| 中江县| 长沙市| 昌都县| 甘肃省| 辛集市| 五家渠市|