随笔分类 -  SqlServer

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

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

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

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

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

posted @ 2023-01-08 22:25 杏村牧童 阅读(72) 评论(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 杏村牧童 阅读(39) 评论(0) 推荐(0)

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

posted @ 2022-07-03 13:46 杏村牧童 阅读(796) 评论(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 杏村牧童 阅读(45) 评论(0) 推荐(0)

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

posted @ 2022-05-14 17:20 杏村牧童 阅读(584) 评论(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 杏村牧童 阅读(60) 评论(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 杏村牧童 阅读(210) 评论(0) 推荐(1)