sqlserver-关于sql中union的问题

问题描述

关于sql中union的问题

这个问题我已经找了很久,但是没有找到满意答案,不找到csdn大神们能不能帮我解决。
问题是这样的:我有一个存储过程,里面有几个查询,用union all连接,在sql server 2000中执行,单条都很快。但是用union all连起来,就变的非常缓慢。在sql server2008中执行,没有任何问题。请问大神们,这是什么原因呢?

时间: 2024-10-18 15:29:17

sqlserver-关于sql中union的问题的相关文章

SQL中UNION 与 UNION ALL 的区别

区别 SQLServer2000中UNION与UNION ALL的区别 UNION 运算符: 将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行.这与使用联接组合两个表中的列不同. 使用 UNION 组合两个查询的结果集的两个基本规则是: 所有查询中的列数和列的顺序必须相同. 数据类型必须兼容.        这种多结果的查询组合为单一结果集在实际中应用的非常方便.但在应用中也有有着问题,如下实例可以进一步说明问题. 问题描述:        为了进一步分析与统计企

sql中UNION和UNION ALL比较与用法

union只是将两个结果联结起来一起显示,并不是联结两个表---- UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 假设我们有以下的两个表格,   Store_Information 表格   store_name Sales Date  代码如下 复制代码 Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-0

oracle中union和union all的区别

经常写sql的同学可能会用到union和union all这两个关键词, 可能你知道使用它们可以将两个查询的结果集进行合并, 那么二者有什么区别呢? 下面我们就简单的分析下. [ 比较 ] union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序; union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复; 下面我们举一个简单的例子来证明上面的结论: 1. 准备数据: drop table studen

Mysql中UNION用法与排序

  最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union的用法,在说一下TP中如何实现复杂的union操作. 一.UNION 用法 一 UNION语法 SELECT ... UNION[ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...] UNION用于把来自许多SELECT语句

SQL中采用Newtonsoft.Json处理json字符串

原文 SQL中采用Newtonsoft.Json处理json字符串 使用环境:       SQL Server2005;       VS2010;       关于SQL中部署CLR程序集的方法,网上一搜一大把,需要了解的自行查阅,呵呵.       SQL中处理字符串实在是太弱了,连数组都不能处理,就更别说json字符串了,好吧,它不能处理,我就给它加个处理程序集(还好2005已经加入了这个功能).       首先对于CLR我也不太懂,而且到现在我也没搞懂怎么把一个dll注册到SQL,俺

在sqlserver 数据库表中插入中文,查看表,中文显示乱码

问题描述 在sqlserver 数据库表中插入中文,查看表,中文显示乱码 sprintf(szSQL,"insert into %s (fromid,toid,time,msg,fontface,fontsize,fontcolor,fontflags) VALUES (%u,%u,%u,'%s','%s',%u,%u,%u)",TABLE_IM_MSG,ulFromID,ulToID,tCurrentTime,strMsg.c_str(),strfontface.c_str(),fo

《SQL与关系数据库理论——如何编写健壮的SQL代码》一2.7 SQL中的类型检查和型转

2.7 SQL中的类型检查和型转 SQL只支持弱形式的强类型化(如果你明白我的意思的话).具体说包括: BOOLEAN值只能赋值到BOOLEAN变量,并只能和BOOLEAN值比较. 数字值只能赋值给数值变量,并且只能与数字值比较(此处的"数字"(numeric)指的是SMALLINT.BIGINT.NUMERIC.DECIMAL 或者FLOAT ). 字符串值只能赋值给字符串变量并且只能与字符串值进行比较(此处的"字符串"指的是CHAR.VARCHAR或者CLOB)

MySQL中Union子句不支持order by的解决方法_Mysql

本文实例讲述了MySQL中Union子句不支持order by的解决方法.分享给大家供大家参考,具体如下: 我对DB知之甚少,这问题只在MySQL遇到,不知道别的DBMS是不是也如此. 问题是这样的,我打算在一个表里获得与某一行记录相邻的两行,并且想通过union一起取出来,所以这么写: select id,title from subjects where id>#some_id# order by id limit 1 union select id,title from subjects

SQLServer关于SQL单表查寻合并结果

问题描述 SQLServer关于SQL单表查寻合并结果 现有一表. QA, QC,QD 数据 11, 22, SB 22, 11, SD 33, 44, SH 44, 33, SL 需要把数据拼成两条. QA, QC,QD, QA2, QC2,QD2 11, 22, SB , 22, 11, SD 33, 44, SH, 44, 33, SL 这个表就通过QA, QC这俩字段识别 解决方案 有没有尝试着having子句和连表查询啊 解决方案二: SQL单表外连接 解决方案三: 如果用存储过程.