数据库
文章平均质量分 58
★涛★
这个作者很懒,什么都没留下…
展开
-
高并发性能指标:QPS、TPS、RT、并发数、吞吐量
高并发性能指标:QPS、TPS、RT、并发数、吞吐量转载 2023-01-23 14:35:56 · 7564 阅读 · 0 评论 -
分库分表方案
分库分表转载 2023-01-23 14:24:45 · 429 阅读 · 0 评论 -
SQL 查询今天、昨天、7天内、30天的数据
主要用到sql 函数DATEDIFF(datepart,startdate,enddate)startdate=日期字段名称--查询 今日select * from tableA where DateDiff(dd,datetime类型字段,getdate())= 0--查询 昨日select * from tableA where DateDiff(dd,times,getdate())= 1--查询 本周select * from tableA where DateD.转载 2021-09-07 07:15:15 · 1499 阅读 · 0 评论 -
Sqlserver读写分离(主从备份)
一.前言1. 背景 大部分场景中,DB操作80%是读,20%是写,对于时效性要求不高的数据,为了减少磁盘读和写的竞争,引入读写分离的概念,即在数据库上进行主从配置,一个主,多个从,实现主从同步,从而业务上实现读写分离。 读写分离在网站发展初期可以一定程度上缓解读写并发时产生锁的问题,将读写压力分担到多台服务器上。基本原理是让主数据库处理增、删、操作,而从数据库处理SELECT查询操作。随着系统的业务量不断增长,数据不断增多,数据库的IO操作压力会很大,读写分离也是数据库分库的一种方案。.转载 2021-08-26 22:50:15 · 4969 阅读 · 1 评论 -
sqlserver常用表值函数
1.fnSplit:把字符串分割为表。CREATE FUNCTION fnSplit( @c VARCHAR(2000), @split VARCHAR(2))RETURNS @t TABLE(col VARCHAR(200))ASBEGIN WHILE (CHARINDEX(@split, @c) <> 0) BEGIN INSERT @t ( col ) VALUES原创 2021-08-15 23:05:00 · 959 阅读 · 0 评论 -
SQLServerAgent 当前未运行,因此无法将此操作通知它。
在数据库创建发布订阅时,报这种错误时,需要注意的把sql service 代理服务启动,并且设置为自动的,不然到时候重新服务器又报错误,另外 需要注意下权限问题,是否需要修改为:本地账号,这个看实际情况。日志信息:SQLServerAgent 当前未运行,因此无法将此操作通知它。 (Microsoft SQL Server,错误: 22022)确认问题之后,远程到服务器。按照以下步骤 1.打开计算机管理 -> 服务 -> 找到SQLSERVERAGENT代理 -> 启动.转载 2021-08-15 22:26:31 · 5404 阅读 · 1 评论 -
动态sql与静态sql的区别
首先,所谓SQL的动态和静态,是指SQL语句在何时被编译和执行,二者都是用在SQL嵌入式编程中的,这里所说的嵌入式是指将SQL语句嵌入在高级语言中,而不是针对于单片机的那种嵌入式编程。静态SQL,在编译阶段就可以确定数据库要做什么事情。在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结构已经明确,例如在Java的一段代码中有一个待执行的SQL“select * from t1 where c1>5”,在Java编译阶段,就可以将这段SQL交给数据库管理系统去分析,数据库软件可以对转载 2021-08-13 22:13:44 · 5134 阅读 · 0 评论 -
SQLServer 日期函数大全
一、统计语句1、--统计当前【>当天00点以后的数据】SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC2、--统计本周SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=03、--统计本月SELECT * FROM 表转载 2021-08-11 22:22:17 · 232 阅读 · 0 评论 -
通过系统存储过程手动执行SQL Server中的Job
系统存储过程sp_start_job在SQL Server中,若想通过T-SQL脚本手动执行SQL Server Agent中的Job(作业任务),则可使用系统存储过程sp_start_job。如下是通过Job名字进行执行:--执行名称为syspolicy_purge_history的JobEXEC msdb.dbo.sp_start_job N'syspolicy_purge_history' ;GO...转载 2021-07-28 22:55:50 · 440 阅读 · 0 评论 -
SQL Server 数据库中的异常信息与编号
SQL Server 数据库中的系统表提供了强大的元数据信息,其中dbo.sysmessages表中存储了数据库执行命令过程中的所有消息。1 SELECT * 2 FROM master.dbo.sysmessages 3 WHERE msglangid = 2052 --表示简体中文执行结果如下:...转载 2021-07-24 22:08:01 · 168 阅读 · 0 评论 -
记一次大数据量后台服务的性能优化
背景 最近被分配到的一个需求,数据量每周新增上千万,预计两个月就会破亿,这里记录一下对这个服务的性能优化的过程。正文需求介绍 首先大致介绍一下这个需求的内容。这个需求是一个周报服务,每周日向用户推送他本周使用服务的时常,最晚使用时间等统计数据,这应该是很多应用都有实现的功能。而对于后台服务来说,只需要提供一个接口,它实现的功能就是去查询用户的周报数据。但是这个服务的用户量庞大,有数千万,而被筛选后,需要统计周报信息的用户,大致有1000w左右。这也就是说,每周将会新增1000w条数据转载 2021-07-20 06:27:19 · 353 阅读 · 0 评论 -
SqlServer循环执行存储过程
begin--申明变量declare @blh char(10)declare @zycs int--赋值变量set @blh=1set @zycs=0--申明游标declare order_cursor cursorfor (select blh, zycs from zy_brzl)--循环条件--打开游标--open order_cursor--开始循环游标变量--fetch next from order_cursor into @blh, @zycswhile @...转载 2021-07-15 19:24:52 · 2402 阅读 · 0 评论 -
使用 sys.sp_testlinkedserver 测试Linked Server 连接是否正常
在论坛看到有人提问是否可以用T-SQL测试LinkedServer的连接是否正常,这样访问多个LinkedServer的时候如果其中的一个连接失败就可以跳过不去处理。在SQLServer2005和之后的版本中提供了一个系统存储过程"sp_testlinkedserver"可以用来测试LinkedServer是否连通。这个存储过程以LinkedServer的名称作为输入参数,返回值0表示成功,1返回失败。下面是一段测试代码:declare@srvrnvarchar(128)...转载 2021-07-08 19:05:52 · 415 阅读 · 0 评论 -
SqlServer临时表
临时表的使用什么是临时表临时表分为两种:本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。本地临时表的名称前面有一个编号符#table_name,而全局临时表的名称前面有两个编号符##table_name。临时表的使用场景数据二次过滤数据库中表创建完成之后,对于复杂的查询,可以引入临时表,将数据插入到临时表,然后从临时表查询数据。在数据库层面缓存数据建经常使用的数据,插入到临时表,作为缓存使用。语法创建临时表方法一: 1..转载 2021-07-01 22:49:10 · 7733 阅读 · 0 评论 -
SQL Server with(nolock)详解
大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。什么是并发访问:同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修改,此时就会对其它用户产生某些不利的影响,例如:1:脏读,一个用户对一个资源做了修改,此时另外一个用户正好读取了这条被修改的记录,然后,第一个用户放弃修改,数据回到修改之前,这两个不同的结果就是脏读。2:不可重复读,一个用户的一个操作是一个事务,这个事务分两次读取同一条记录转载 2021-07-01 22:42:08 · 7296 阅读 · 0 评论 -
sqlserver跨数据库使用事务更新报错 链接服务器的 OLE DB 访问接口 “SQLNCLI11“ 返回了消
跨数据库使用事务可能会提示这种报错。处理办法:语句中不要使用数据库事务原创 2021-07-22 06:50:51 · 4104 阅读 · 0 评论 -
SQL 多表查询之 where和INNER JOIN
SQL多表查询之 where和INNER JOIN【基础查询和效率分析】转载Michaelwubo最后发布于2018-07-05 10:40:47阅读数 18057收藏https://blog.csdn.net/u013372487/article/details/52622491?locationNum=1https://blog.csdn.net/qingtanlang/article/details/2133816http://www.cnblogs.com/drake-...转载 2021-06-13 21:50:10 · 2525 阅读 · 0 评论 -
挽救数据库性能的30条黄金法则
1. 优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于排序,所以在这两个子句涉及到的字段上需要建立索引。2. 应该避免在where子句中使用否定的操作符,如不等于(!=或<>)、否则数据库引擎将放弃使用索引而进行全表扫描。3. 在尽量避免在where子句中使用或(or)作为连接条件,否则数据库引擎将放弃使用索引而进行全表扫描。如下面的SQL语句可能会带来性能问题select id,name,age fr转载 2020-09-14 12:06:15 · 454 阅读 · 0 评论