-
和表值函数连接引发的性能问题分析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:168
表值函数 SQL Server中提供了类似其他编程语言的函数,而函数的本质通常是一段代码的封装,并返回值。在SQL Server中,函数除了可以返回简单的数据类型之外(Int、Varchar等),还可以返回一个集合,也就是返回一个表。 而根据是否直接返回集合或是定义后再[详细]
-
SqlServer 2000、2005分页存储过程整理
所属栏目:[MsSql教程] 日期:2020-12-12 热度:89
sql server 2005的分页存储过程分3个版本,一个是没有优化过的,一个是优化过的,最后一个支持join的,sql server 2000的分页存储过程,也可以运行在sql server 2005上,但是性能没有sql server 2005的版本好。 在最后 我还附带了一个二分法的分页存储过程,[详细]
-
Windows下使用性能监视器监控SqlServer的常见指标
所属栏目:[MsSql教程] 日期:2020-12-12 热度:59
上边文章中提到win的性能监视器是监控数据库性能必备的工具,接下来我就给大家介绍一些常见的监控指标,其实无非就是磁盘,cpu,内存等硬件的运行指标还有数据库自身的像锁[详细]
-
SqlServer备份数据库的4种方式介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:147
1.用sqlserver的维护计划 在这里我就不给截图演示了,这个比较简单,无非就是通过sqlserver自己的维护计划拖拽出2个一个‘备份数据库'任务和一个‘清除维护'任务。 需要注意的点: 1)有备份任务里边选择备份的库尽量[详细]
-
检测SqlServer数据库是否能连接的小技巧
所属栏目:[MsSql教程] 日期:2020-12-12 热度:110
有时候可能需要检测下某台机器的服务是不是起来了,或者某台机器的某个库是不是能被连接又不能打开ssms也不想登陆服务器的话就可以用这个方法。 1.在桌面上右键创建个文本,然后改后缀名为udl以后保存(1.udl),至于udl是什么各位可以百度下这里就不细说了[详细]
-
启动sqlserver服务的bat脚本分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:126
声明下这个脚本不是我写的,忘了是从哪看到的了,在此分享给大家,因为在我的理解中技术就是用来分享的,希望原创作者看到了不要介意。 1.创建个文本,将后缀名改成.bat 2.将下边语句粘贴进去,然后保存即可 代码如下:@echo off for /f "skip=3 tokens=4" %%[详细]
-
新手SqlServer数据库dba需要注意的一些小细节
所属栏目:[MsSql教程] 日期:2020-12-12 热度:147
前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。 1. 在创建db的时候自增长建议设置成按MB(M)增长,步长根据业务量来设置,一般情况建议设置100-200M(见图片),还有就是尽量别改初始大小,这个默认就好。[详细]
-
SQL Server远程定时备份数据库脚本分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:123
经常会有定时备份SQL Server数据库的需要。定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里。 下面就分享一份在网上找了之后,自己再简单整理过的代码,配合[详细]
-
SQLServer 2012中设置AlwaysOn解决网络抖动导致的提交延迟问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:88
事件起因:近期有研发反应,某数据库从08切换到12环境后,不定期出现写操作提交延迟的问题; 事件分析:在排除了系统资源争用等问题后,初步分析可能由于网络抖动导致同步模式alwayson节点经常出现会话超时等待提交的问题导致。 经过排查,扩展事件里发现不[详细]
-
Sql Server中的系统视图详细介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:94
本来想这个系列写点什么好呢,后来想想大家作为程序员,用的最多的莫过于数据库了,但是事实上很多像我这样工作在一线的码农,对sql都一知半解,别谈优化和对数据库底层的认识了,我也是这样。。。 一:那些系统视图 1. 系统视图是干什么呢? 从名字上看就知[详细]
-
深入理解Sql Server中的表扫描
所属栏目:[MsSql教程] 日期:2020-12-12 热度:145
很久以前我们在写sql的时候,最怕的一件事情就是sql莫名奇妙的超级慢,慢的是撸一管子回来,那个小球还在一直转。。。这个着急也只有当事人才明白,后来听说有个什么“评估执行计划“,后来的后来才明白应该避免表扫描。。。 一:表扫描 1.现象 ”表扫描“听[详细]
-
理解Sql Server中的聚集索引
所属栏目:[MsSql教程] 日期:2020-12-12 热度:167
说到聚集索引,我想每个码农都明白,但是也有很多像我这样的猥程序员,只能用死记硬背来解决这个问题,什么表中只能建一个聚集索引,然后又扯到了目录查找来帮助读者记忆。。。。问题就在这里,我们不是学文科,,,不需要去死记硬背,,,我们需要的就是能[详细]
-
Sql Server中的非聚集索引详细介
所属栏目:[MsSql教程] 日期:2020-12-12 热度:129
非聚集索引,这个是大家都非常熟悉的一个东西,有时候我们由于业务原因,sql写的非常复杂,需要join很多张表,然后就泪流满面了。。。这时候就有DBA或者资深的开发给你看这个猥琐的sql,通过执行计划一分析。。。或许就看出了不该有的表扫描。。。万恶之源。[详细]
-
Sql Server中的DBCC命令详细介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:148
今天研发中心办年会,晚上就是各自部门聚餐了,我个人喜欢喝干红,在干红中你可以体味到那种酸甜苦辣。。。人生何尝不是这样呢???正好ceo从美国带了干红回来,然后我就顺道开心的过了把瘾。。。。一个字。。。爽。。。。喝着有点多。。。到现在头还疼。。[详细]
-
SQL Server中将查询结果转换为Json格式脚本分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:94
脚本源码: 代码如下:SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE[dbo].[SerializeJSON]( @ParameterSQL AS VARCHAR(MAX) ) AS BEGIN DECLARE @SQL NVARCHAR(MAX) DECLARE @XMLString VARCHAR(MAX) DECLARE @XML XML DECLARE @Param[详细]
-
SQL Server中将数据导出为XML和Json方法分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:64
有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP[详细]
-
Select count(*)、Count(1)和Count(列)的区别及执行方式
所属栏目:[MsSql教程] 日期:2020-12-12 热度:179
在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。 往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能[详细]
-
调整SQLServer2000运行中数据库结构
所属栏目:[MsSql教程] 日期:2020-12-12 热度:127
开发过程中的数据库结构结构,不可避免的会需要反复的修改。最麻烦的情况莫过于开发者数据库结构已经修改,而实际应用中数据库又有大量数据,如何在不影响 数据库中数据情况下,更新数据结构呢?当然,我们可以手工对应用数据库表结构各个添加、更正、删除的[详细]
-
介绍备份和还原MySQL数据的两种方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:72
使用mysqldump进行备份和还原 使用mysqldump进行备份 fulldb.dumpmysqladmin start-slave -uroot -ptar -czf /tmp/dbdump.tar.gz ./fulldb.dump ./mysql-relay-log.info 我们除了要备份了整个数据库的dump以外,还需要备份relay-log.info文件(上例为mysql-re[详细]
-
SQL函数substr使用简介
所属栏目:[MsSql教程] 日期:2020-12-12 热度:164
substr(string,1,3) 函数解读:取string 中重左往右取3字长的字符串。 结果为:str 从右往左呢? 应该有另一个函数来提供这样的功能吧! 事实上,从右往左也是这个函数 只是参数的不同而已。 substr(String,-1,3) 功能解读:取string中右边1位开始取3位。 结[详细]
-
深入分析SQL Server 存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:101
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQ[详细]
-
关于SQL的几道小题详解(sql进阶)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:91
当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样的惯性思维其实早在我们度高中的时候就被领教了,所谓“万变不离其宗[详细]
-
一道关于数据库(经典父子级 ID 关联)更新题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:155
昨天,一同事发过来的一道数据库题目,就是哪种经典的父子级 ID 在同一数据库表中设计类型。需要在原表中添加一个字段,同时,将该节点的父子级详细信息插入到原表新增的一字段中,具体效果如下图。 AreaCode 、AreaName、ParentCode (原表三字段). Conten[详细]
-
sqlserver中存储过程的递归调用示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。 以阶层为例子说存储过程中递归的调用。 递归 当创建此存储过程时候,会遇见一条报告信息[详细]
-
SQL Server存储过程中使用表值作为输入参数示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:80
在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入。 在2008中提供了表值参数。使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存[详细]