-
SQLServer性能调优之缓存
在执行任何查询时,SQLServer都会将数据读取到内存,数据使用之后,不会立即释放,而是会缓存在内存Buffer中,当再次执行相同的查询时,如果所需数据全部缓存在内存中,那么SQLServer不会产生DiskIO操作,立即返回查询结果,这是SQLServer的性能优化机制。一,主要的内存消费者(MemoryConsumer)1,数据缓存(DataCache)DataCache是存储数据页(DataPage)的缓冲区,当SQLServer需要读取数据文件(File)中的数据页(DataPage)时,SQLServer会把整个Page都调入内存(内存中的一个Page叫做buffer),Page是数据访问的最小单元...
数据库操作教程 2022-09-23 18:15:03 -
详细分析sqlserver中的小数类型(float和decimal)
在SQLServer中实际上只有两种小数数值类型,分别是float(近似数值)和decimal(精确数值),这两种类型能表示所有的小数数值类型。float(近似数值类型)float表示的是近似数值,存在一定的精度缺失...
数据库操作教程 2022-09-23 18:14:59 -
SQLServer中防止并发插入重复数据的方法详解
SQLServer中防止并发插入重复数据,大致有以下几种方法:1.使用PrimaryKey,UniqueKey等在数据库层面让重复数据无法插入。2.插入时使用条件insertintoTable(****)select****wherenotexists(select1fromTablewhere****);3.使用SERIALIZABLE隔离级别,并且使用updlock或者xlock锁提示(等效于在默认隔离级别下使用(updlock,holdlock)或(xlock,holdlock))settransactionisolationlevelSERIALIZABLEBeginTranselect1fromTablewith(UPDLOCK)where****--这里即算有索引支撑的情况下,加的也是范围锁RangeS-U,虽然能锁住,但并发性能也不佳...
数据库操作教程 2022-09-23 18:14:58 -
sqlserver数据库中raiserror函数用法的详细介绍
sqlserver数据库中raiserror函数的用法server数据库中raiserror的作用就和asp.NET中的thrownewException一样,用于抛出一个异常或错误。这个错误可以被程序捕捉到...
数据库操作教程 2022-09-23 18:14:51 -
当masterdown掉后,pt-heartbeat不断重试会导致内存缓慢增长的原因及解决办法
最近同事反映,在使用pt-heartbeat监控主从复制延迟的过程中,如果masterdown掉了,则pt-heartbeat则会连接失败,但会不断重试。重试本无可厚非,毕竟从使用者的角度来说,希望pt-heartbeat能不断重试,直到重新连接上数据库...
数据库操作教程 2022-09-23 18:14:48 -
SQLSERVER2012新增函数之字符串函数FORMAT详解
前言本文主要介绍的是使用FORMAT函数将日期/时间和数字值格式化为识别区域设置的字符串。下面话不多说,来看详细的介绍吧...
数据库操作教程 2022-09-23 18:14:38 -
SqlServer2012完全卸载方法只需8步轻松卸载
轻松通过八步实现SqlServer2012完全卸载,供大家参考,具体内容如下第一步,在控制面板里面找到程序——卸载程序这一项,打开之后就会是这样的了第二步,经过第一步打开卸载程序后,在里面找到MicrosoftSQLserver2012(64-bit)这一项,可以通过右上角搜索框寻找第三步,点击右键,卸载,此时安装程序启动,开始着手删除SQL了第四步,选择实例选择需要删除的内容,在这里有选择实例——选择功能——删除规则——准备删除——删除进度——完成,点击下一步,进行删除,下面截图里面有这些每一步的过程第五步,当到了准备删除时候,点击下一步,由于SQLserver2012真的很大,删除进度这一步很慢,大概需要半个小时时间,只需要慢慢等待就行。删除进度有点慢当都完成后点击摘要日志当这一步也完成了,那么SQLserver2012已经卸载完成了一大半,现在只需要将C盘里面的一些文件删除和删除注册表就行第六步,删除C盘里面的文件,C:ProgramFilesMicrosoftSQLServer这个文件夹删除和C:ProgramFiles(x86)里面找到MicrosoftSQLServer这个...
数据库操作教程 2022-09-23 18:14:35 -
利用SQLServer数据库邮件服务实现监控和预警
背景现在越来越多的企业、公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒。前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQLServer自带的邮件服务来实现对数据库的监控和预警...
数据库操作教程 2022-09-23 18:14:31 -
SqlServer中模糊查询对于特殊字符的处理方法
今天在处理sql查询的时候遇到了like查询不到的问题,于是对问题进行剖析问题:select*fromv_workflow_rt_task_circulatewhereNamelike'%[admin]请假申请[2017-02-13至2017-02-13]%'查询不到,但是在数据库中是存在在这一条数据的。修改后:select*fromv_workflow_rt_task_circulatewhereNamelike'%[[]admin]请假申请[[]2017-02-13至2017-02-13]%'对于模糊查询需要对于特殊字符的处理(下划线_,百分号%,方括号[,尖号^)对了以上的字符直接使用方括号包起来([])例如:[_]、[%]、[[]、[^]...
数据库操作教程 2022-09-23 18:14:14 -
SQLServer中row_number分页查询的用法详解
ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号...
数据库操作教程 2022-09-23 18:14:11 -
sqlserver递归子节点、父节点sql查询表结构的实例
一、查询当前部门下的所有子部门WITHdeptAS(SELECT*FROMdbo.deptTab--部门表WHEREpid=@idUNIONALLSELECTd.*FROMdbo.deptTabdINNERJOINdeptONd.pid=dept.id)SELECT*FROMdept二、查询当前部门所有上级部门WITHtabAS(SELECTDepId,ParentId,DepName,[Enable],0AS[Level]FROMdeptTabWITH(NOLOCK)--表名WHERE[Enable][email protected],b.ParentId,b.DepName,b.[Enable],a.[Level]+1FROMtaba,deptTabbWITH(NOLOCK)WHEREa.ParentId=b.depIdANDb.[enable]=1)SELECT*FROMtabWITH(NOLOCK)WHERE[enable]=1ORDERBY[level]DESC三、查询当前表的说明描述SELECTtbs.name表名,ds.value...
数据库操作教程 2022-09-23 18:14:07 -
图书管理系统的sqlserver数据库设计示例
首先,在写数据库时需要遵循以下几个原则: 数据库的命名规范: 方便代码的交流和维护 不影响代码的效率,不与大众习惯冲突 使代码更美观,阅读更方便 使代码的逻辑更清晰,更易于理解 术语的定义: Pascal方法:将标识符的首字母和后面连...
数据库操作教程 2022-09-23 18:14:04