-
order by newid() 各种数据库随机查询的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:143
SQL Server: 代码如下:Select TOP N * From TABLE Order By NewID() view plaincopy to clipboardprint? Select TOP N * From TABLE Order By NewID() Select TOP N * From TABLE Order By NewID() NewID()函数将创建一个 uniqueidentifier 类型的唯一值。[详细]
-
基于SQL Server中如何比较两个表的各组数据 图解说明
所属栏目:[MsSql教程] 日期:2020-12-12 热度:93
开始 前一阵子,在项目中碰到这样一个SQL查询需求,有两个相同结构的表(table_left dataSub2 创建一个哈希索引,如: 代码如下:alter table table_left add dataChecksum as checksum(dataSub1,dataSub2) alter table table_right add dataChecksum as check[详细]
-
SQL Transcation的一些总结分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:50
1.1.1 摘要 相信大家对于SQL Transcation再熟悉不过,它确保了数据库的数据一致性和安全性,尤其在对数据执行增删时,如果发生异常和错误它就会触发事务回滚,从而确保了我们数据的一致性和安全性,下面我们将通过分四部分介绍事件(Transcation)。 1.1.2[详细]
-
SQL的Join使用图解教程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:72
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn di[详细]
-
SQL中JOIN和UNION区别、用法及示例介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:147
1.JOIN和UNION区别 join 是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。 JOIN用于按照ON条件联接两个表,主要有四种: INNER JOIN:内部联接两个表中的记录,仅当至少有一[详细]
-
SQL临时表递归查询子信息并返回记录的代码
所属栏目:[MsSql教程] 日期:2020-12-12 热度:67
div class="codetitle" a style="CURSOR: pointer" data="75484" class="copybut" id="copybut75484" onclick="doCopy('code75484')" 代码如下:div class="codebody" id="code75484" declare @Q_ID uniqueidentifier set @Q_ID = dbo.uf_GetParamValueByName[详细]
-
每个分类取最新的几条的SQL实现代码
所属栏目:[MsSql教程] 日期:2020-12-12 热度:126
CREATE TABLE table1( [ID] [bigint] IDENTITY(1,1) NOT NULL,[Name] nvarchar NOT NULL,[class] int not null,[date] datetime not null)class 表示分类编号。 分类数不固定, 至少有上千种分类 date 表示该条记录被更新的时间 我们现在想获得每个分类最新[详细]
-
SQL参数化查询的另一个理由 命中执行计划
所属栏目:[MsSql教程] 日期:2020-12-12 热度:120
1概述 SQL语言的本质就是一串伪代码,表达的是做什么,而不是怎么做的意思。如其它语言一样,SQL语句需要编译之后才能运行,所以每一条SQL是需要通过编译器解释才能运行的(在这之间还要做SQL的优化)。而这些步骤都是需要运行成本,所以在数据库中有一个叫做[详细]
-
SQL Server重温 事务
所属栏目:[MsSql教程] 日期:2020-12-12 热度:138
为什么使用事务 当对多个表进行更新的时候,某条执行失败。为了保持数据的完整性,需要使用事务回滚。 显示设置事务 div class="codetitle" a style="CURSOR: pointer" data="4980" class="copybut" id="copybut4980" onclick="doCopy('code4980')" 代码如下[详细]
-
sql 存储过程批量删除数据的语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:177
div class="codetitle" a style="CURSOR: pointer" data="64953" class="copybut" id="copybut64953" onclick="doCopy('code64953')" 代码如下:div class="codebody" id="code64953" Create PROCEDURE Batch_Delete @TableName nvarchar(100),--表名 @FieldN[详细]
-
SQL处理多级分类,查询结果呈树形结构
所属栏目:[MsSql教程] 日期:2020-12-12 热度:121
这样处理的弊端是:如果数据量大,子分类很多,达到4级以上,这方法处理极端占用数据库连接池 对性能影响很大。 如果用SQL下面的CTE递归处理的话,一次性就能把结果给查询出来,而且性能很不错 比用程序处理(数据量很大的情况),临时表性能更好,更方便 di[详细]
-
SQL Server 数据页缓冲区的内存瓶颈分析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:76
SQL Server会把经常使用到的数据缓存在内存里(就是数据页缓存),用以提高数据访问速度。因为磁盘访问速度远远低于内存,所以减少磁盘访问量同样是数据库优化的重要方面。 当数据页缓存区出现内存不足,则会出现查询慢,磁盘忙等等问题。 分析方法:主要是用[详细]
-
sqlserver 查询数据库大小的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:57
但Insus.NET想到的是,从下面的SQL语句,就可以查询到数据库大[详细]
-
SqlServer 索引自动优化工具
所属栏目:[MsSql教程] 日期:2020-12-12 热度:100
鉴于人手严重不足(当时算两个半人的资源),打消了逐个库手动去改的念头。当前的程序结构不允许搞革命的做法,只能搞搞改良,所以准备搞个自动化工具去处理。原型刚开发完,开会的时候以拿出来就遭到运维DBA团队强烈抵制,具体原因不详。最后无限延期。这里[详细]
-
优化 SQL Server 索引的小技巧
所属栏目:[MsSql教程] 日期:2020-12-12 热度:81
在本文中,我将说明如何用SQL Server的工具来优化数据库索引的使用,本文还涉及到有关索引的一般性知识。 关于索引的常识 影响到数据库性能的最大因素就是索引。由于该问题的复杂性,我只可能简单的谈谈这个问题,不过关于这方面的问题,目前有好几本不错的[详细]
-
SQL server高级应用 收藏版
所属栏目:[MsSql教程] 日期:2020-12-12 热度:64
一. 建库,建表,加约束. 1.1建库 代码如下:use master go if exists (select * from sysdatabases where name='MyDatabase')—判断master数据库sysdatagbases表中是否存在将要创建的数据库名 drop database MyDatabase—如果sysdatabases表中存在该数据库名,[详细]
-
Sql Server 2012 分页方法分析(offset and fetch)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:134
其中 offset and fetch 最重要的新特性是 用来 分页,既然要分析 分页,就肯定要和之前的分页方式来比较了,特别是 Row_Number() 了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下。 准备工作,建立测试表:Artic[详细]
-
sqlserver 触发器学习(实现自动编号)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:164
总结常用基本点如下: 1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML触发器)。 DDL触发器:在用户对数据库执行数据定义(CREATE、ALTER、DROP或相似的语句)对数据库结构进行修改时激活而做出响应。 DML触发器:在用户对[详细]
-
SQL Server 总结复习(一)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:166
1. TVP, 表变量,临时表,CTE 的区别 TVP和临时表都是可以索引的,总是存在tempdb中,会增加系统数据库开销,而表变量和CTE只有在内存溢出时才会被写入tempdb中。对于数据量大,并且反复使用,反复进行查询关联的,建议使用临时表或TVP,数据量小,使用表变[详细]
-
SQL Server 总结复习 (二)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:173
1. 排名函数与PARTITION BY 代码如下:--所有数据 SELECT * FROM dbo.student AS a INNER JOIN dbo.ScoreTB AS b ON a.Id = b.stuid WHERE scorename = '语文' ------------------------------------------- --ROW_NUMBER() 的使用 生成列从1开始依次增加 ---[详细]
-
巧妙的自关联运用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:55
第一列按照goodsid局部分组,然后在分组后的记录中按照audittime升序排序得到序号,从而显示某商品得第几次变迁。 第二列是取该商品的最后变迁价格newPrice,然后将该值赋到这个商品的其他行中,例如对于goodsid为1的,最后一个newprice为20,那么对于所有go[详细]
-
编写SQL需要注意的细节Checklist总结
所属栏目:[MsSql教程] 日期:2020-12-12 热度:152
div class="codetitle" a style="CURSOR: pointer" data="45560" class="copybut" id="copybut45560" onclick="doCopy('code45560')" 代码如下:div class="codebody" id="code45560" / --注意:准备数据(可略过,非常耗时) CREATE TABLE CHECK1_T1 ( ID IN[详细]
-
SQL 查询性能优化 解决书签查找
所属栏目:[MsSql教程] 日期:2020-12-12 热度:69
先来看看什么是书签查找: 当优化器所选择的非聚簇索引只包含查询请求的一部分字段时,就需要一个查找(lookup)来检索其他字段来满足请求。对一个有聚簇索引的表来说是一个键查找(key lookup),对一个堆表来说是一个RID查找(RID lookup)。这种查找即是[详细]
-
SQL Server 数据库备份和还原认识和总结 (一)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:192
可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只使用最基础的功能,对它也只有一个大概的认识,如果对它有更深入的认识,了解它更全面的功能岂不是更好,到用时会得心应[详细]
-
SQL Server 数据库备份和还原认识和总结(二)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:62
通过《SQL Server 数据库备份和还原认识和总结(一)》,相信您对数据备份和还原有了一个更深入的认识,在上文中我没有对事务日志做剖析,在此推荐宋沄剑的文章,对事务日志做了比较详细的讲解://www.jb51.cc/article/31038.htm。本文将针对上文继续进行数[详细]