SQL Server中以星期一为每周第一天 计算周数
SQL Server中以星期一为每周第一天 计算周数,但是在网上搜了,看了一些,写的都挺复杂,一堆的sql代码,但是实际运行了一下,都是不对的。。。比如下面是摘自网上的代码:DECLARE @DATE DATETIME = '2012-01-29' DECLARE @FIRST_DATE_OF_YEAR DATETIME = DATEADD(YYYY,DATEDIFF(YYYY,0,@DATE),0) SELECT DATEPART(WEEK...
SQL优化实战
一、结存数据太慢(SQL Server数据库)通过一个存储过程,来结存2015年全年的数据,每次结存一个月的数据。在结存1、2、3月时,每个月在2分钟左右,但从4月份开始,结存一个月数据10分钟都不止。一开始,由于结存时间过长,也无法判断有多少数据已经结存进去,所以直接kill,但是rollback时间达到了20分钟。后来,...
对报表生成工具的改进
公司的报表生成工具,是通过在前端web界面中进行选择,根据这些选项来动态生成sql语句,然后发送到tomcat服务器,最后执行sql ,返回查询结果,页面按照前端的报表设置的样式进行格式化,最后显示在页面上。而工具所生成的sql语句,受到预先写好的主题sql的限制,这里所谓主题sql,可以简单理解为就是一段纯sql(除sql中...
DBA是什么?
dba就是数据库管理员的简称,是对数据库进行 监控、管理、维护、调优、设计等操作的。监控,就是通过记录数据库在运行中的各种状态,参数,来了解数据库是否工作正常。管理,就是创建数据库,添加文件组,添加数据库文件,修改参数,创建表、索引,视图、触发器、存储过程、函数等,启动关闭数据库,备份还原数据库...
【SQL Server】通过sql profiler捕获sql
最近某些客户反应在查询一些报表时比较慢,但是我查询了这些表,觉得并没有客户说的那么慢,于是,我猜测可能是当某些用户选择了较多的查询条件,而sql server产生了不够优化的执行计划才导致查询比较慢。为了能够抓取到比较真实的sql,我准备用sql profiler来捕获系统中正在运行的sql。1、启动 sql server profiler工...
【SQL Server】还原数据库
今天早上,客户经理过来说,客户发现拜访类报表的数据不对,都显示的当前组织,而且kpi值也不对。我看了一下结存任务,判断应该是晚上的结存任务就把这份新的主数据给结存下来,而覆盖了之前结存的1月份的主数据。我问他是几号导入的新版主数据,他问了开发人员,说是应用程序在昨天晚上9点把之前销售代表对主数据做的...
【SQL Server】创建索引,导致insert语句长时间等待
SQL Server中创建索引,导致insert语句长时间等待,之前觉得在创建索引,应该会影响insert操作,但一直没有实际验证过,今天验证了下一下,果然是这样。1、在会话1中创建索引: 点击(此处)折叠或打开create index idx_temp on temp(biz_date,func_code)2、在...