随笔分类 -  SQLServer

摘要:递归查询原理 CTE的递归查询必须满足三个条件:初始条件,递归调用表达式,终止条件;CTE 递归查询的伪代码如下: with cte_name as( 查询语句 union all 查询语句 ) select * from cte_name 1. 递归查询至少包含两个子查询: 第一个子查询称作定点( 阅读全文
posted @ 2021-10-13 11:56 智者见智 阅读(2189) 评论(0) 推荐(0) 编辑
摘要:group by是分组函数,partition by是分区函数,sum()等是聚合函数 函数写法 over(partition by Course order by Score) 说明:先对Course列中相同的数据进行分区,在Course中相同的情况下对Score进行排序 rank()与row_n 阅读全文
posted @ 2021-10-13 11:15 智者见智 阅读(2547) 评论(0) 推荐(0) 编辑
摘要:varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4 阅读全文
posted @ 2021-09-08 17:03 智者见智 阅读(14576) 评论(0) 推荐(0) 编辑
摘要:TPS(Transactions Per Second): 也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数 QPS(Queries Per Sec 阅读全文
posted @ 2021-04-29 11:37 智者见智 阅读(486) 评论(0) 推荐(0) 编辑
摘要:SQL 中STUFF函数用法 作用: 删除指定长度的字符,并在指定的起点处插入另一组字符。 语法: STUFF ( character_expression , start , length ,character_expression ) 示例: 以下示例在第一个字符串 abcdef 中删除从第 2 阅读全文
posted @ 2020-10-10 16:30 智者见智 阅读(428) 评论(0) 推荐(0) 编辑
摘要:SQL中 FOR XML PATH 函数用法 假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下: FOR XML PATH 简单介绍 --按XML格式输出查询结果 select * from dbo.Hobby for xml path --自定义XML行节点名称 select * 阅读全文
posted @ 2020-10-10 16:12 智者见智 阅读(1850) 评论(0) 推荐(0) 编辑
摘要:触发器是一种特殊类型的存储过程,它不同于存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器 阅读全文
posted @ 2020-06-28 16:05 智者见智 阅读(748) 评论(0) 推荐(0) 编辑
摘要:SQL Server会话、作用域概念 作用域 就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。 关于批处理:sql 查询分析器里go语句以前的SQL语句应该是一个批处理 会话 一个用户连接产生的所有上下文信息。一个查询分 阅读全文
posted @ 2020-06-24 17:51 智者见智 阅读(439) 评论(0) 推荐(0) 编辑
摘要:读取配置文件,获取连接字符串 阅读全文
posted @ 2019-10-16 10:57 智者见智 阅读(429) 评论(0) 推荐(0) 编辑
摘要:从一个表中选取数据插入到另一个表中: select column_name(s) into new_table_name from old_table_name --new_table_name表不必事先存在(复制旧表的架构和数据) select * into table_new from tabl 阅读全文
posted @ 2019-09-17 16:36 智者见智 阅读(883) 评论(0) 推荐(0) 编辑
摘要:什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查。 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不同的服务器安装不同的数据库,有时候因为业务需要,将不同的服务器中的数据进行整合,这时候就需要进行跨服 阅读全文
posted @ 2019-09-16 17:56 智者见智 阅读(3818) 评论(1) 推荐(0) 编辑
摘要:set nocount on 作用 阻止在结果集中返回显示受t-sql语句影响的行计数信息 set nocount on 不返回计数,set nocount off 返回计数 即使当set nocount on 时也更新@@rowcount 当set nocount on 时将不向客户端发送存储过程 阅读全文
posted @ 2019-09-09 10:00 智者见智 阅读(553) 评论(0) 推荐(1) 编辑
摘要:了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器。 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写。 死锁:是数据库性能的重量级杀手之一,而死锁却是不同事务之间抢占数据资源造成的。 一个事务中可以包含多个DM 阅读全文
posted @ 2019-09-06 16:35 智者见智 阅读(23737) 评论(1) 推荐(6) 编辑
摘要:游标 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 游标是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中 阅读全文
posted @ 2019-09-05 16:26 智者见智 阅读(1506) 评论(0) 推荐(0) 编辑
摘要:执行计划简介 1、什么是执行计划? 大哥提交的sql语句,数据库查询优化器,经过分析生成多个数据库可以识别的高效执行查询方式。然后优化器会在众多执行计划中找出一个资源使用最少,而不是最快的执行方案,给你展示出来,可以是xml格式,文本格式,也可以是图形化的执行方案。 2、预估执行计划,实际执行计划 阅读全文
posted @ 2019-09-03 16:51 智者见智 阅读(3623) 评论(0) 推荐(1) 编辑
摘要:分析比较执行时间计划读取情况 select * from dbo.Product 执行上面语句一般情况下只给你返回结果和执行行数,那么你怎么分析呢,怎么知道优化之后跟没有优化的区别呢。 下面几种方法: 1.查看执行时间和cpu占用时间 set statistics time on select * 阅读全文
posted @ 2019-09-03 16:32 智者见智 阅读(506) 评论(0) 推荐(0) 编辑
摘要:这里使用SQL Server 2008 R2版本 一、SQL Server Profiler的使用 1. 在安装SQL Server 数据库时,请保证安装了SQL Server Profiler,默认情况全部安装都会自动安装上。 2. 打开SQL Server Management Studio,在 阅读全文
posted @ 2019-09-03 16:04 智者见智 阅读(2160) 评论(0) 推荐(0) 编辑
摘要:如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 一、数据库结构的设计 在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的 阅读全文
posted @ 2019-08-13 16:12 智者见智 阅读(947) 评论(0) 推荐(0) 编辑
摘要:SQL SERVER高并发解决方案主要是从以下几个方面: 1.SQL语句优化: A.尽可能的精确查询条件及查询字段,缩小查询范围(包括使用分页查询); B.查询条件中尽可能少用:like, (not)in, (not)is null, order by, distinct, count(*), != 阅读全文
posted @ 2019-08-13 16:08 智者见智 阅读(3117) 评论(0) 推荐(0) 编辑
摘要:一、秒杀业务为什么难做? 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部 阅读全文
posted @ 2019-08-13 16:05 智者见智 阅读(572) 评论(0) 推荐(0) 编辑