mysql view-mysql 视图 left join 非常慢

问题描述

mysql 视图 left join 非常慢

select uuid() AS myid,tu.id AS id,tu.job_number AS job_number,tu.email AS useremail,tu.name AS name,tu.dept AS dept,tu.manger AS manger,tu.status AS status,tu.createDate AS createDate,tu.updateDate AS updateDate,tchk.name AS sysName,tchk.number AS sysNumber,tchk.status AS sysStatus,tchk.createDate AS sysCreateDate,'香港集群账号' AS tableName from (tiw_user tu left OUTER join tiw_clusterHkNum tchk on((tchk.tiwUid = tu.id))) where 1 = 1
union all
select uuid() AS myid,tu.id AS id,tu.job_number AS job_number,tu.email AS useremail,tu.name AS name,tu.dept AS dept,tu.manger AS manger,tu.status AS status,tu.createDate AS createDate,tu.updateDate AS updateDate,tcsz.name AS sysName,tcsz.number AS sysNumber,tcsz.status AS sysStatus,tcsz.createDate AS sysCreateDate,'深圳集群账号' AS tableName from (tiw_user tu left OUTER join tiw_clusterSzNum tcsz on((tcsz.tiwUid = tu.id))) where 1 = 1
union all
select uuid() AS myid,tu.id AS id,tu.job_number AS job_number,tu.email AS useremail,tu.name AS name,tu.dept AS dept,tu.manger AS manger,tu.status AS status,tu.createDate AS createDate,tu.updateDate AS updateDate,tcwh.name AS sysName,tcwh.number AS sysNumber,tcwh.status AS sysStatus,tcwh.createDate AS sysCreateDate,'武汉集群账号' AS tableName from (tiw_user tu left OUTER join tiw_clusterWhNum tcwh on((tcwh.tiwUid = tu.id))) where 1 = 1

说明:(一共用十表union进行连接 代码都是重复)且左右表的数据量相差比较大

时间: 2024-12-22 06:15:21

mysql view-mysql 视图 left join 非常慢的相关文章

MySQL VIEW(视图)学习笔记

视图的作用: ■视图可以让查询变得很清楚: 如果您要找的数据存放在三张关系表里面,查看数据的时候,你就要写个联合查询了.换种方法,我把联合查询的数据放到视图里面,这样查询起来是不是更方便呢? ■保护数据库的重要数据,给不同的人看不同的数据: 假如您让别人帮您开发一套系统,但是你又想把真正表的暴露出来,这个时候视图是不是最好的选择呢? 视图的类型: mysql的视图有三种类型:MERGE.TEMPTABLE.UNDEFINED.如果没有ALGORITHM子句,默认算法是UNDEFINED(未定义的

mysql中创建视图时视图的名称对数据有影响?!?

问题描述 mysql中创建视图时视图的名称对数据有影响?!? 这学期刚刚学数据库,关于mysql创建视图的问题 创建视图的语句: create view supply(sno, pno, qty) as select spj.sno, spj.pno, spj.qty from spj, j where j.jno = spj.jno and j.jname = '三建'; 这样视图创建成功,但是select * from supply;时查询结果是空empty set. 如果将视图名由supp

MySQL笔记之视图的使用详解_Mysql

什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而之关心对自己有用的数据. 数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中. 使用视图查询数据时,数据库系统会从原来的表中取出对应的数据. 视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变.   视图的作用 1.使操作简单化,可以对经常使用的查询定义一个视图,使

mysql基础之视图

原文:mysql基础之视图 在查询中,我们经常把查询结果 当成临时表来看. View是什么? View可以看一张虚拟表. 是表通过某种运算得到的一个投影. 既然视图只是表的某种查询的投影,所以主要步骤在于查询表上.查询的结果命名为视图就可以了. 视图与表的关系 视图是表的查询结果,自然表的数据改变了,影响视图的结果.   视图改变了呢? 0: 视图增删改也会影响表 1: 但是,视图并是总是能增删改的.   视图某种情况下,是可以修改的. 要求: 视图的数据和表的数据 11对应. 就像函数的映射.

mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录

原文:mysql not in.left join.IS NULL.NOT EXISTS 效率问题记录 mysql not in.left join.IS NULL.NOT EXISTS 效率问题记录,需要的朋友可以参考下.   NOT IN.JOIN.IS NULL.NOT EXISTS效率对比 语句一:select count(*) from A where A.a not in (select a from B) 语句二:select count(*) from A left join B

基于mysql事务、视图、存储过程、触发器的应用分析_Mysql

一 ,mysql事务 MYSQL中只有INNODB类型的数据表才能支持事务处理. 启动事务有两种方法 (1) 用begin,rollback,commit来实现 复制代码 代码如下: begin 开始一个事务rollback   事务回滚commit    事务确认 (2)直接用set来改变mysql的自动提交模式 复制代码 代码如下: set autocommit=0 禁止自动提交set autocommit=1 开启自动提交 demo 复制代码 代码如下: header("Content-t

【MySql】mysql 的权限体系介绍

mysql 的权限体系大致分为5个层级: 全局层级 全局权限适用于一个给定服务器中的所有数据库.这些权限存储在mysql.user表中.GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤销全局权限. 数据库层级 数据库权限适用于一个给定数据库中的所有目标.这些权限存储在mysql.db和mysql.host表中.GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤销数据库权限. 表层级 表权限适用于一个给定表中的所有列

Navicat for MySQL与MySQL GUI Tools功能比较

一.MySQL GUI Tools MySQL官方提供的一个可视化界面的MySQL数据库管理控制台,提供了四个图形化应用程序,这些图形化管理工具可以大大提高数据库管理.备份.迁移和查询效率.它们分别是: ◆MySQL Migration Toolkit ◆MySQL Administrator ◆MySQL Query Browser ◆MySQL Workbench 1.MySQL Query Browser MySQL查询浏览器是为MySQL数据库服务器创造,执行和优化SQL查询的最简单的可

删除mysql 安装 mysql 5.1.65 5.1.73

新安装的centos 6.5 需要安装mysql,需要删除如下文件: 主 mysql 5.1.65  从 mysql 5.1.73    find / -name mysql 需要删除如下3个文件: [root@m ~]# whereis mysql mysql: /usr/lib64/mysql /usr/share/mysql [root@m ~]# rm -rf /usr/lib64/mysql/ [root@m ~]# rm -rf /usr/share/mysql/ [root@m ~