insert into ...select * from ...order by ...问题

Kinglin_sky 2010-03-08 03:08:39
请大家看看下边这句SQL语句有什么问题没?
在SQL SERVER 2000 中

insert into #temptable select * from tableA as a order by A.column2,A.column1

大概功能时, 查询tableA 中, 符合条件的行并按column2,column1进行排序, 插入到临时表#temptable中,
其中A.column1为主键, 问是否会能达到目的, 现在比较怀疑的, 在大数据量时,select 得到的集合, 在用insert into 是否是按照我们要求的那种排序方式插入临时表, 还是可能按照原有表格中的物理顺序插入。请高手确认下, 谢谢!
...全文
2057 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kinglin_sky 2010-03-11
  • 打赏
  • 举报
回复
不是的, 当数据达到一定量时, 临时表中的数据, 将不再是有序的了, 应该是分批插入的, 只能保证这一批是有序的, 不能保证全部是有序的。
echoxue 2010-03-08
  • 打赏
  • 举报
回复
关注中,应该是已经排好序的,但是不建议再插入之前排序,插入好后在select的时候order by
sych888 2010-03-08
  • 打赏
  • 举报
回复
通过查看上面的语句中
INSERT INTO #TB
SELECT * FROM TB ORDER BY COL1,COL2
的执行计划就会发现,系统会先取数据,再排序,再取前几行(如果有TOP X的话),再插入,所以#TB中的数据应该是已排序的
up.............
Kinglin_sky 2010-03-08
  • 打赏
  • 举报
回复
不过在Insert into 中没有该列, 而是让系统自动增长, 现在用小数据测试, 没有出现不一致的情况, 不知道大数据量时, 是否会出问题。
Kinglin_sky 2010-03-08
  • 打赏
  • 举报
回复
引用 5 楼 sql77 的回复:
在大数据量时,select 得到的集合, 在用insert into 是否是按照我们要求的那种排序方式插入临时表

试试看,应该不会,要是有IDENTITY在2000中可能就要小心了,用排序列才不会


在临时表中, 确实还存在一列IDENTITY的列, 且在上面建立了聚集索引,
xman_78tom 2010-03-08
  • 打赏
  • 举报
回复
SQL Server 是不能保证一定按 order by 顺序插入数据的,除非在被插入表上创建关于 order by 排序列的聚集索引。
guguda2008 2010-03-08
  • 打赏
  • 举报
回复
通过查看上面的语句中
INSERT INTO #TB
SELECT * FROM TB ORDER BY COL1,COL2
的执行计划就会发现,系统会先取数据,再排序,再取前几行(如果有TOP X的话),再插入,所以#TB中的数据应该是已排序的
guguda2008 2010-03-08
  • 打赏
  • 举报
回复
USE TEMPDB
IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
IF OBJECT_ID('#TB') IS NOT NULL DROP TABLE #TB
GO
CREATE TABLE TB(COL1 INT,COL2 INT)
INSERT INTO TB
SELECT 1,2 UNION ALL
SELECT 2,3 UNION ALL
SELECT 2,1 UNION ALL
SELECT 0,1
CREATE TABLE #TB(COL1 INT,COL2 INT)

INSERT INTO #TB
SELECT * FROM TB ORDER BY COL1,COL2

SELECT * FROM #TB
/*
0 1
1 2
2 1
2 3
*/
SQL77 2010-03-08
  • 打赏
  • 举报
回复
在大数据量时,select 得到的集合, 在用insert into 是否是按照我们要求的那种排序方式插入临时表

试试看,应该不会,要是有IDENTITY在2000中可能就要小心了,用排序列才不会
guguda2008 2010-03-08
  • 打赏
  • 举报
回复
会按查询出来的顺序原样插入临时表
--小F-- 2010-03-08
  • 打赏
  • 举报
回复
如果没有加索引的话 应该是没问题的
--小F-- 2010-03-08
  • 打赏
  • 举报
回复
这样的问题不是很大 ...
dawugui 2010-03-08
  • 打赏
  • 举报
回复
原则上没问题.
如果有问题,建议考虑把column2,column1 一起插入到临时表,然后在临时表中对column2,column1 进行排序.
内容概要:本文提出了一种改进的各向异性引导滤波器,通过引入加权平均策略,在实现最大程度平滑扩散的同时有效保留图像中的强边缘特征,从而实现强各向异性滤波效果。该方法在继承传统引导滤波器计算效率高、运行稳定优势的基础上,进一步增强了边缘保持能力与结构感知性能,适用于图像去噪、细节增强、边缘提取和多尺度分解等任务。文中配套提供了完整的Matlab代码实现方案,便于算法复现与实际应用,具有较强的工程实用性与科研参考价值。; 适合人群:具备一定图像处理理论基础和Matlab编程能力,从事计算机视觉、图像增强或滤波算法研究的科研人员与工程技术人员,尤其适合攻读硕士、博士学位并聚焦于图像预处理方向的研究者。; 使用场景及目标:①在图像预处理阶段去除噪声干扰的同时保持关键结构信息;②作为高层视觉任务(如语义分割、目标检测)的前置模块以提升输入图像质量;③支持学术研究中的滤波算法对比实验与性能评估,助力高水平论文撰写与算法创新。; 阅读建议:建议读者结合所提供的Matlab代码深入理解加权机制与各向异性扩散原理,重点分析局部窗口内权重矩阵的构建方式及其对滤波性能的影响,并推荐与双边滤波、标准引导滤波等经典方法进行可视化对比,以全面掌握其优势与适用边界。
源码下载地址: https://pan.quark.cn/s/7f242081e14c 标题 "普中51-A2开发板资料.7z" 提供的信息表明,这是一个与普中51-A2开发板相关的资源包。 51单片机是微控制器领域中的一个经典系列,STC-89C52是51系列中的一个型号,常用于教学和入门级项目。 这个压缩包可能包含了一系列帮助用户理解和使用该开发板的材料。 描述中的"SHA256: B889D6FE71BF1CB25C67D57BE0854787F4D6902B20E2A1AF8FC9DEB66F4C7827"是文件的哈希值,用于验证文件的完整性和未被篡改,但具体知识点不在此范围内。 从标签来看,我们可以期待以下内容:1. **普中51-A2开发板**:这是一款基于51单片机的开发工具,可能包括硬件电路图、原理图、PCB设计文件等。 2. **STC-89C52**:这是51单片机的一个变种,具有增强的特性,如更多的I/O口、更大的内存等。 资料可能包含其数据手册、引脚定义、编程指南等。 3. **开发板**:可能包含开发板的使用手册、接线教程、初始化设置步骤等。 4. **51单片机**:基础理论、指令集、编程语言(如汇编或C语言)、中断系统、定时器/计数器的使用等。 5. **开发工具**:可能有Keil、Proteus、ISP编程软件等,这些工具用于编写、调试和烧录代码到单片机中。 从压缩包子文件的文件名称列表来看,我们可以深入学习以下内容:1. **普中51单片机开发攻略--A2.pdf**:这可能是开发板的用户指南或教程,涵盖基本操作、示例项目和常见问题解答。 2. **5--开发工具.rar**:可能包含开发环境的安装教程、配置指南和使用技巧。 3. **5--实验程序....
内容概要:本文围绕“基于水动力模型的螺旋桨驱动机器人模拟研究”展开,系统性地实现了无人水下航行器(UUV)的动力学建模与控制仿真,采用Matlab作为主要工具完成系统建模、算法设计与仿真验证。研究聚焦于构建精确的水下机器人六自由度非线性动力学模型,充分考虑流体静力学、附加质量、阻尼力及重力-浮力耦合效应等关键水动力因素,并在此基础上设计了PID与LQR复合控制策略,实现对UUV姿态角(俯仰、横滚、偏航)与运动速度的高精度协同控制。研究内容涵盖水动力模型建立、运动方程推导、控制器参数设计、稳定性分析及仿真平台搭建等核心环节,通过仿真实验验证了所提控制策略在复杂水下环境中良好的动态响应性能与鲁棒性,为UUV的自主导航、路径跟踪与高精度作业提供了有效的理论依据和技术支持。; 适合人群:具备自动控制理论、海洋工程或水下机器人等相关专业背景,熟悉Matlab/Simulink仿真环境,掌握经典控制理论(如PID)与现代控制理论(如状态空间、LQR)的基础知识,且具有一定动力学建模与仿真经验的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于水下机器人控制系统的设计、性能评估与算法优化;②支撑高水平学术论文的撰写与发表,尤其适用于UUV建模、水动力仿真、非线性控制、多变量耦合控制等领域;③为实际水下装备的研发提供低成本、高效率的前期仿真验证平台,探索先进控制算法在复杂流体环境中的应用潜力。; 阅读建议:建议读者结合提供的Matlab代码与理论文档进行同步学习与仿真操作,重点关注水动力系数的物理意义与获取方法、非线性模型的线性化处理技巧以及PID与LQR控制器的参数整定过程,深入理解多变量系统间的耦合关系及其对控制性能的影响,从而全面掌握UUV仿真与控制的核心技术要点。

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧