随笔分类 - 数据库SQL Server
摘要:1.产生碎片的操作 通过sys.dm_index_physical_stats来查看,索引上的页不在具有连续性时就会产生碎片,碎片是索引上页拆分的物理结果。 (1).插入操作: INSERT操作在聚集索引和非聚集索引上都可以引起碎片 使用业务键或者GUID等类型 做聚集索引,很容易产生碎片 代码如下
阅读全文
摘要:PIVOT用于将列值旋转为列名(即行转列) 语法: UNPIVOT用于将列明转为列值(即列转行) 语法: 注意:PIVOT、UNPIVOT是SQL Server 2005的语法,使用需修改数据库兼容级别 在数据库属性->选项->兼容级别改为 90 一、行转列 1、建立表格 2、使用SQL Serve
阅读全文
摘要:Split 表函数将一个字符串按指定分隔符进行分割,返回一个表。 charindex:在一段字符中搜索字符或者字符串 标量值函数:返回一个值 表值函数:返回一张表 存储过程: 1.不带返回值的存储过程 2.带返回值的存储过程
阅读全文
摘要:在 SQL Server 中默认情况下,每周的开始都是从周日开始算起的,如果默认星期一呢? 这里有三种方式可以解决这个问题: 一:直接通过 SET DATEFIRST VALUE 来更改重新生成新的 DimDate,然后每次需要单独计算 Week Number 的时候根据 Date Key 关联一下
阅读全文
摘要:标识符可以由双引号分隔,而文字必须由单引号分隔 标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。 在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE
阅读全文
摘要:SELECT * FROM( SELECT ROW_NUMBER() OVER (ORDER BY r.UpdateTime desc) tempRowNum,h.BizID,h.OrgID FROM dbo.ToPlanTargetValueHis h INNER JOIN dbo.ToPlanAdjustRecord r ON h.BizID=r.ID WHERE h.BizI...
阅读全文
摘要:SELECT d.DicName , --DevelopMode ISNULL(NULL,NULL) , --Orgid b.FullName , --Areid c.DicName , --InvestProperty f.DicName , --TwoProperty PJName , PJLength , PJWidth , UseArea , BuildArea , --IsS...
阅读全文
摘要:递归关于进行树形结构的查询: 一:简单的树形结构代码。 二:带缩进的树形机构 三:查询是否有子节点 这3段代码可以直接复制使用,修改一下表名和要查询的列名基本上都是通用的.
阅读全文
摘要:--查看数据库中表的语句 SELECT s2.dbid , DB_NAME(s2.dbid) AS [数据库名] , --s1.sql_handle , ( SELECT TOP 1 SUBSTRING(s2.text, statement_start_offset / 2 + 1, ...
阅读全文
摘要:定义:所谓的索引Hint提示,就是强制查询优化器为一个查询语句执行扫描或者使用一个指定的索引 前提:利用索引提示的前提就是当前表存在索引了,如果是堆表的情况,只能通过表扫描获取数据了。 用处:很多时候我们创建的索引是失效的,当然,大部分情况下失效的原因是创建索引不妥当导致的,但是有一些情况下, 需要
阅读全文
摘要:-- 实现方式1:使用游标 实现方式2:使用拼凑SQL的方式 实现方式3:使用系统函数指定备份的数据库 执行上面的存储过程就可以备份所有数据库(系统数据库除外,想要过滤数据库可以填写@whereand参数的条件) 注意:SET QUOTED_IDENTIFIER 这个选项为 OFF
阅读全文
摘要:一个表的导入: 多个表的导入: 生成的部分脚本如下:
阅读全文
摘要:找出数据库中所有的数据库名: 鼠标轨迹字字符串分割: 1.创建测试表 结果: 2.创建表PosSetInfo,这个表是用来保存鼠标轨迹字符串分割后的数据 3.创建了一个函数,它的作用是把字符串@str以@split分隔符进行分隔,返回第@index次匹配的元素。 4.VisiteLog表的数据进行分
阅读全文
摘要:共用表表达式(CTE)可以看成是一个临时的结果集,可以再SELECT,INSERT,UPDATE,DELETE,MARGE语句中多次引用。 一好处:使用共用表表达式可以让语句更加清晰简练。 1.可以定义递归公用表表达式(CTE) 2.当不需要将结果集作为视图被多个地方引用时,CTE可以使其更加简洁
阅读全文
摘要:( 一)利用Sql语句查询数据库中的所有表 1.利用sysobjects系统表 2,利用sys.tables目录视图 sys.tables目录视图,为每个表对象返回一行. 注意:sys.tables目录视图也只有在SQL SERVER2005及以上的版本中才能使用。 3,利用存储过程sp_table
阅读全文
摘要:表分区的操作三步走: 1.创建分区函数 CREATE PARTITION FUNCTION xx1(int) 解释:在当前数据库中创建一个函数,该函数可根据指定列的值将表或索引的各行映射到分区。 语法: 创建分区的范围: 注释:创建分区函数:myRangePF2,以INT类型分区,分三个区间,100
阅读全文
摘要:最近一直在学习SqlServer 作业方面的知识,总结一下。 一:作业存在的库。 msdb use msdb Msdb数据库是代理服务数据库,为其报警、任务调度和记录操作员的操作提供存储空间。 二:查看作业分类 三:作业常用的几个步骤: 四:写一个简单的案例: 参考的案例: 创建作业的步骤: 创建作
阅读全文
摘要:创建表: 插入数据并排序: 格式: 行转列的代码: 结果: 通过其他方式实现: 实现方式:
阅读全文
摘要:检查索引碎片的结果: 处理过后的索引碎片: --SQL2005以后有一个动态管理视图sys.dm_exec_query_stats,返回缓存查询计划的性能统计信息 --SQL会统计从上次SQL启动以来,一共做了多少次logical读写,多少次physical读,还记录执行所用的 CPU时间总量 --
阅读全文

浙公网安备 33010602011771号