随笔分类 -  SqlServer

SQL Server【提高】分区表
摘要:分区表 分区视图 分区表可以从物理上将一个大表分成几个小表,但是从逻辑上来看,还是一个大表。 什么时候需要分区表 数据库中某个表中的数据很多。 数据是分段的 分区的方式 水平分区 水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表; 垂直分区 垂直表分区就是把一个拥有多个字段的 阅读全文

posted @ 2023-01-08 22:26 杏村牧童 阅读(62) 评论(0) 推荐(0) 编辑

SQL Server【提高】事务
摘要:事务 事务是作为单个逻辑单元执行的一系列操作,它是一个不可分割的工作逻辑单元。它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行。 特性 原子性Atomicity 事务是一个完整的操作, 事务中所有操作命令必须作为一个整体提交或回滚。如果事务中任何操作命令失败,则整个事务将因失败而回滚 阅读全文

posted @ 2023-01-08 22:26 杏村牧童 阅读(77) 评论(0) 推荐(0) 编辑

SQL Server【提高】碎片
摘要:碎片 当对索引所在的基础数据表进行增删改时,若存储的数据进行了不适当的跨页(SQL Server中存储的最小单位是页,页是不可再分的),就会导致索引碎片的产生。 外部碎片 插入的数据使页与页之间造成断续,比如,插入的数据正好在页中最后一行,被挤出到别的页的数据,与原来的页之间没有了连续,这后果就严重 阅读全文

posted @ 2023-01-08 22:25 杏村牧童 阅读(50) 评论(0) 推荐(0) 编辑

SQL Server【基础】DDL 数据定义语言
摘要:DDL 操作数据库,schema,表等语句 Create,Alter,Drop,DECLARE database --1、说明:创建数据库 Create DATABASE database-name thus --2、说明:删除数据库 drop database dbname schema --1、 阅读全文

posted @ 2023-01-04 11:02 杏村牧童 阅读(25) 评论(0) 推荐(0) 编辑

SQL Server 【应用】JSON
摘要:摘要 不建议在sql中使用json,但是json在sql中确实有很多灵活的使用,尤其是复杂查询,记录一下常见的使用情况 16版本下支持json SQL Server 2016开始支持JSON数据类型,现在很多还是没有升级到这个版本,为了支持json,需要自己定义json处理函数 附上处理json的函 阅读全文

posted @ 2022-07-03 13:46 杏村牧童 阅读(721) 评论(0) 推荐(0) 编辑

SQL Server 【坑】null
摘要:摘要 sql中null的判断有自己独特的逻辑,在写脚本需要注意或者设计表时必填项尽量设置为not null null的<>判断 --比较下面3个脚本的写法 select * from tb where col <> 3 select * from tb where col <> 3 or col i 阅读全文

posted @ 2022-06-29 21:03 杏村牧童 阅读(36) 评论(0) 推荐(0) 编辑

SQL Server 【应用】悲观锁和乐观锁
摘要:乐观锁和悲观锁 悲观锁:相信并发是绝大部分的,并且每一个线程都必须要达到目的的。 乐观锁:相信并发是极少数的,假设运气不好遇到了,就放弃并返回信息告诉它再次尝试。因为它是极少数发生的 数据库并发问题 假如两个线程同时修改数据库同一条记录,就会导致后一条记录覆盖前一条,从而引发一些问题,常见的就是卖东 阅读全文

posted @ 2022-05-14 17:20 杏村牧童 阅读(550) 评论(0) 推荐(0) 编辑

SQL Server 【应用】行列转换Pivot&Unpivot
摘要:行转列 准备工作 create table #temp ( Name nvarchar(10) null, Course nvarchar(10) null, Score int null ) insert into #temp(Name,Course,Score) select '小李','语文' 阅读全文

posted @ 2021-03-16 23:49 杏村牧童 阅读(44) 评论(0) 推荐(0) 编辑

SQL Server 【优化】in & exists & not in & not exists
摘要:in && exists 如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in; 例如:表A(小表),表B(大表) select * from A where cc in(select cc from B) --> 阅读全文

posted @ 2021-03-06 16:17 杏村牧童 阅读(195) 评论(0) 推荐(1) 编辑

SQL Server 【提高】 死锁
摘要:死锁 在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁 死锁发生的原因 系统资源不足 进程运行推进的顺序不合适 资源分配不当等 产生死锁的必要条件 互斥条件:一个资源每次只能被一个进程使用 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资 阅读全文

posted @ 2020-08-25 22:39 杏村牧童 阅读(176) 评论(0) 推荐(0) 编辑

SQL Server 【提高】 锁
摘要:数据库并发会带来哪些问题 脏读:一个事务读取的记录是另一个未完成事务的一部分 不可重复读:一个事务中两次读取记录,而另一个事务在这期间改变了数据,就会发生非重复性读取 幻读:在UPDATE的过程中,恰好INSERT了一个全新的数据 丢失更新:一个更新成功写入数据库后,而又意外地被另一个事务重写 锁的 阅读全文

posted @ 2020-08-16 20:23 杏村牧童 阅读(113) 评论(0) 推荐(0) 编辑

SQL Server 【提高】 游标
摘要:游标定义 sql语言按照标准处理对象是集合,但有时候也需要针对单行的处理,所以就有了游标,类似C语言的指针一样。 使用方法 创建游标 declare cursor_name --游标名称,唯一标识 [insensitive] [scroll] cursor for select_statement 阅读全文

posted @ 2020-08-04 23:47 杏村牧童 阅读(129) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示