随笔分类 -  数据库SQL Server

摘要:需求:1.客户提供的excel表和数据库中的表结构总是有一些差距,id的生成,各种字段的关联等等 2. 如何在Excel中生成Guid。 1.在Excel的宏中执行以下代码: 2.写一些Excel函数去找对应的关系。 3.把excel中的数据拷贝到数据库中。 思路:1.根据一些特定列判断数据库中的列 阅读全文
posted @ 2017-03-15 17:31 石shi 阅读(2211) 评论(0) 推荐(0)
摘要:1.添加根节点: hierarchyid GetRoot()方法 结果: 2.添加子节点:父节点GetDescendant()方法 在子节点中在添加子节点: 3.获取当前级别:当前节点GetLevel()方法 4.获取当前节点下所有子节点,判断条件:where 列名 IsDescendantOf(当 阅读全文
posted @ 2017-01-23 21:00 石shi 阅读(768) 评论(4) 推荐(0)
摘要:一:在较小的结果集上上操作 1.仅返回需要的列 2.分页获取数据 EF实现分页: 上一页: 下一页: 绑定: 避免出现左侧计算: 建立合适的主外键: 验证数据存在时使用Exists替换Count(): 关闭受影响的行数: 添加稀疏列: 提高文件访问性能文件流: 打开SqlServer 配置管理工具: 阅读全文
posted @ 2017-01-10 20:12 石shi 阅读(695) 评论(0) 推荐(0)
摘要:执行计划,查询类别: 1.即席查询 2.预定义查询 语句一样时即席查询才会重用执行计划。 优化:打开开关 为ad hoc的查询优化: set Parameterization forced 强制参数化(like无法识别 ) 预定义查询: 预定义查询--参数化执行计划: 存储过程: 1.创建时延时检查 阅读全文
posted @ 2017-01-07 21:30 石shi 阅读(2636) 评论(0) 推荐(0)
摘要:查询优化的过程: 查询优化: 功能:分析语句后最终生成执行计划 分析:获取操作语句参数 索引选择 Join算法选择 创建测试的表: 建立非聚集索引: 执行语句: 执行语句: 查询结果集的数据范围影响对索引的选择。 两个查询条件: Sqlserver 的查询结果集会认为用哪个列查询的结果少,就选择哪个 阅读全文
posted @ 2017-01-04 20:40 石shi 阅读(1930) 评论(0) 推荐(0)
摘要:压缩: 1.压缩的对象 1.表 2.索引(非聚集索引手工做) 3.备份(手工做) 2.对性能影响 1.提高IO性能 2.降低CPU性能 行压缩: 1.对null值不占用空间 2.对Numeric值不占用空间 页压缩: 1.行压缩 2.前缀压缩 3.字典压缩 实例: 准备表数据: 磁盘io: 压缩: 阅读全文
posted @ 2017-01-04 15:56 石shi 阅读(1821) 评论(0) 推荐(0)
摘要:如何做资源的调控: 1.建立资源池。 2.创建工作负荷组 --如何将应用与资源池进行对应呢?--创建分类器函数 属性资源调控器: 在Web.config中: 阅读全文
posted @ 2017-01-03 21:42 石shi 阅读(763) 评论(0) 推荐(0)
摘要:补充上一篇修改用非聚集索引: 执行计划: 并发访问控制隔离级别: 1.读提交:默认行为,读取时请求S锁 2. 脏读:读取时不请求S锁,不会受到其他X锁限制 3. 已提交快照读:更新时将老的数据复制到 Tempdb:read_committed_snapshot 设置成单用户模式: 设置事物: 执行语 阅读全文
posted @ 2017-01-01 20:37 石shi 阅读(2274) 评论(0) 推荐(0)
摘要:并发访问: 当多个线程访问同一个资源,会产生并发性问题 并发控制与处理: 乐观并发控制:一种方式是“后来的更新者获胜” 这意味着先来的用户提交的值会在没有察觉的情况下丢失。 为记录加锁以阻止其他事物访问某些记录,是避免产生并发冲突的一种技术 悲观并发控制: 1.一个线程操作表,造成整个表被锁定 2. 阅读全文
posted @ 2017-01-01 18:05 石shi 阅读(15765) 评论(2) 推荐(2)
摘要:分布式视图: 1.将大表分割到多个服务器上存储 2.物理上与逻辑上都存在多个表 3.通过视图实现对分布到多个服务器表进行访问 4.整合网络负载平衡 链接两台数据库: 建立同样的数据结构: 点击新建链接服务器: 创建视图: 在第二台服务器上建立与第一台服务器的链接 和上面的步骤一样 执行下面的语句: 阅读全文
posted @ 2016-12-31 14:22 石shi 阅读(1620) 评论(0) 推荐(0)
摘要:一:新建模板 二:选择跟踪的语句类型: 使用模板: 把范文的行为进行记录: 开启引擎: 选择文件和数据库: 选择选项: 分析的结果: 阅读全文
posted @ 2016-12-31 00:55 石shi 阅读(1079) 评论(0) 推荐(0)
摘要:导入表结构: 开启磁盘io: 非聚簇索引: 再次执行上面的查询代码(提高了三倍): 建立覆盖索引: 再次执行上述语句: 数据库会自动选择索引: 没有创建索引的情况: 创建索引: 在次查询: IO情况: 由此可见 Product表影响比较严重 251 建立一个非聚簇索引:(做一个物理排序) 执行语句: 阅读全文
posted @ 2016-12-28 22:12 石shi 阅读(2192) 评论(0) 推荐(1)
摘要:配置数据收集器: 1.创建登录名并映射角色 2.配置管理数据仓库 3.创建收集组、收集项 MSDB数据存储 sp_syscollector_create... 4.自动配置相关job 具体步骤: 创建好之后的图: 配置数据收集: 刷新如下图所示: 创建的方法: 具体用法参考: https://msd 阅读全文
posted @ 2016-12-25 22:23 石shi 阅读(1007) 评论(0) 推荐(0)
摘要:动态管理视图: 具体的实例语句: 如果指定了 CROSS APPLY,在右侧的行集表达式返回一个空的行集为该行时不生成任何行,行的左侧的行集。 创建一个表: 启动事物 不关闭 造成线程阻塞 另一个用户去查询表 查看系统的阻塞情况 把事物进行提交: 再次运行以上的语句结果如下: 阅读全文
posted @ 2016-12-25 21:24 石shi 阅读(974) 评论(0) 推荐(0)
摘要:添加三个选项: 下一步就可以了 Sql跟踪的模板: 跟踪Sql 语句的执行情况: 使用刚才的新建的模板: 用到的Sql语句: 停止Profiler 在停止性能监视器 导入性能数据 分析出来的最终结果: 阅读全文
posted @ 2016-12-25 18:27 石shi 阅读(1120) 评论(0) 推荐(0)
摘要:一:数据存储的方式: 1.数据文件:.mdf或.ndf 2.日志文件:.ldf 二:事务日志的工作步骤: 1.数据修改由应用程序发出(在缓冲区进行缓存) 2.数据页位于缓存区缓冲中,或者读入缓冲区缓存然后修改 3.修改记录在磁盘上的事务日志中 4.检查点将提交的事物写入数据库中 三:手工性能收集项 阅读全文
posted @ 2016-12-25 17:11 石shi 阅读(1530) 评论(0) 推荐(0)
摘要:SQL系统存储过程用法整理: xp_cmdshell --*执行DOS各种命令,结果以文本行返回。 xp_fixeddrives --*查询各磁盘/分区可用空间 xp_loginconfig --*报告SQL Server 实例在Windows 上运行时的登录安全配置 xp_logininfo -- 阅读全文
posted @ 2016-09-29 20:34 石shi 阅读(4769) 评论(0) 推荐(0)
摘要:1.数据库备份的方法: --还原 2.收缩数据库的大小的方法 5.检查日志文件不能被截断的原因 6.检测孤立用户并恢复孤立用户到新的服务器 解决数据库镜像孤立用户问题 阅读全文
posted @ 2016-09-01 18:31 石shi 阅读(434) 评论(0) 推荐(0)
摘要:1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 2. 聚合索引和非聚合索引有什么区别? 一: 深入浅出理解索引结构: 把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index 阅读全文
posted @ 2016-08-31 16:21 石shi 阅读(14526) 评论(0) 推荐(7)
摘要:先看一下腰实现的功能: 一:创建数据库 二:创建表的语句: 三:对表添加约束 此业务的逻辑图: 四:插入数据: 五:常规业务操作: 六:一些比较复杂的操作: DATEDIFF: 函数返回两个日期之间的天数。 DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。 八 阅读全文
posted @ 2016-08-30 09:16 石shi 阅读(1129) 评论(0) 推荐(1)