张工的SQL Server经验心得

主要分享一些个人的SQL Server编程开发优化经验心得。

博客园 首页 新随笔 联系 订阅 管理
  20 Posts :: 0 Stories :: 7 Comments :: 0 Trackbacks

2019年12月27日 #

摘要:create procedure #pr_CreateFileGroup @dbname nvarchar(max), @filegroupname nvarchar(max) as begin /* 脚本来源:https://www.cnblogs.com/zhang502219048/p/121 阅读全文
posted @ 2019-12-27 09:22 张工502219048 阅读 (141) 评论 (0) 编辑

2019年11月29日 #

摘要:重建全库索引: exec sp_msforeachtable 'DBCC DBREINDEX(''?'')' 更新全库统计信息: --更新全部统计信息 exec sp_updatestats 实例反馈: 在实际项目中,出现过导入数据的存储过程执行需要大概46分钟,而通过更新全库统计信息之后,只需要6 阅读全文
posted @ 2019-11-29 09:03 张工502219048 阅读 (133) 评论 (0) 编辑

2019年10月31日 #

摘要:问题:需要对DataGridViewRow的下拉框列Item2所选内容进行判断,看是否跟数据库里面某个配置表的数据列Item1匹配。如果用两个foreach循环进行匹配,会导致逻辑复杂而且容易只break里面那层循环而忽略break外层循环而造成bug. 解决方案:巧妙使用List,把配置表满足条件 阅读全文
posted @ 2019-10-31 08:56 张工502219048 阅读 (369) 评论 (0) 编辑

2019年9月30日 #

摘要:增加分批删除一个表指定数据的话只需要增加几行代码就可以 阅读全文
posted @ 2019-09-30 22:25 张工502219048 阅读 (270) 评论 (0) 编辑

2019年8月27日 #

摘要:脚本: 脚本运行结果: 阅读全文
posted @ 2019-08-27 09:01 张工502219048 阅读 (404) 评论 (0) 编辑

2019年8月7日 #

摘要:问题: 今天一同事请教博主,他拼接了一个语句,select表格形式数据,然后使用@@rowcount获取到行数。 但他又有这样特别的需求:想只获取行数而不返回表格数据结果,因为是while循环,不想返回那么多次表格到客户端,而且后面又想复用这个返回表格形式数据的脚本字符串,不想在这个脚本字符串上改成 阅读全文
posted @ 2019-08-07 21:02 张工502219048 阅读 (342) 评论 (0) 编辑

2019年7月31日 #

摘要:一、问题 问题1 场景:如果你未来的丈母娘要求你,第1天给她1分钱,第2天给2分钱,第3天给4分钱,以此类推,每天给前一天的2倍,给1个月(按30天)算就行。问:第30天给多少钱,总共给多少钱? 问题1 问题2 场景:如果有两份工作。 第1份:第1天给你1分钱,第2天给你2分钱,第3天给你4分钱,以 阅读全文
posted @ 2019-07-31 20:25 张工502219048 阅读 (691) 评论 (0) 编辑

2019年7月25日 #

摘要:问题:博主看到项目脚本,有些地方使用了format函数来把当前日期转换成yyyyMMddHHmmssffff的格式,但在测试环境数据库是sql 2008 r2,是不支持format这个函数的。脚本会报错: 'format' 不是可以识别的 内置函数名称。 'format' is not a reco 阅读全文
posted @ 2019-07-25 09:04 张工502219048 阅读 (600) 评论 (0) 编辑

2019年7月17日 #

摘要:问题: 在数据库编程开发中,有时需要获取一年前的日期,以便以此为时间的分界点,查询其前后对应的数据量。例如:1. 想查询截止到一年前当天0点之前的数据量,以及一年前当天0点开始到现在的数据量。2. 想查询截止到一年前当天24点之前的数据量,以及一年前当天24点开始到现在的数据量。3. 想查询截止到一 阅读全文
posted @ 2019-07-17 23:14 张工502219048 阅读 (556) 评论 (0) 编辑

2019年7月2日 #

摘要:问题: 在数据库编程开发中,有时会遇到数据量比较大的情况,如果直接大批量进行添加数据、修改数据、删除数据,就会是比较大的事务,事务日志也比较大,耗时久的话会对正常操作造成一定的阻塞。虽不至于达到删库跑路的程度,但也严重影响了用户体验,老是卡巴死机的感觉。这时我们可以对这个大批量操作进行分小批事务操作 阅读全文
posted @ 2019-07-02 21:46 张工502219048 阅读 (681) 评论 (0) 编辑

2019年6月30日 #

摘要:问题:在数据库脚本开发中,有时需要生成一堆连续数字或者日期,例如yearly report就需要连续数字做年份,例如daily report就需要生成一定时间范围内的每一天日期。而自带的系统表master..spt_values存在一定的局限性,只是从0到2047(验证脚本:select * fro 阅读全文
posted @ 2019-06-30 11:51 张工502219048 阅读 (374) 评论 (0) 编辑

2019年6月28日 #

摘要:问题:博主在2011年6月,广东技术师范大学大四的时候,从学校计算机科学学院网站看到招聘信息并到广东中原地产IT部面试,很清楚记得当时的面试题目:怎么从数据库里面查询重复记录。 解决方案:在sql server中,可以用group by和having来解决问题。 脚本: 【转载请注明博文来源:htt 阅读全文
posted @ 2019-06-28 08:58 张工502219048 阅读 (464) 评论 (0) 编辑

2019年6月21日 #

摘要:问题:有时已有项目要移植,例如原来在广州地区使用的某系统,突然说惠州那边也要用这套一样的系统。或者,在demo环境下弄了一些测试数据。然后要清空全部表数据。如果表比较多的话,逐个表手工编写脚本就太麻烦了。 解决方案:本博主就教教大家怎么仅用一个简单语句快速删除全库各表数据,全部清空数据。使用系统存储 阅读全文
posted @ 2019-06-21 22:09 张工502219048 阅读 (710) 评论 (0) 编辑

摘要:问题:生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间。给备份文件的存放管理带来不便。特别是如果要做logshipping,那就需要先在第一台服务器进行完全备份,如果备份集是超过100G,不仅备份时间长,而且把备份集复制到第二台服务器的过程中也会比较耗I/O资源 阅读全文
posted @ 2019-06-21 12:08 张工502219048 阅读 (951) 评论 (0) 编辑

2019年6月15日 #

摘要:问题:工作过程中,不管是什么项目,伴随着项目不断升级版本,对应的项目数据库业务版本也不断升级,数据库出现新增表、修改表、删除表、新增字段、修改字段、删除字段等变化,如果人工检查,数据库表和字段比较多的话,工作量就非常大。 解决方案:这里博主为大家分享一个在工作过程中编写的自动检查数据库表结构版本差异 阅读全文
posted @ 2019-06-15 20:39 张工502219048 阅读 (903) 评论 (5) 编辑

2019年6月8日 #

摘要:问题:博主在2010-2011学年,广东技术师范大学大四的时候,去过红海人力集团面试数据库职位,很清楚记得当时有一道笔试题目是:编写sql从表里面随机取出10条记录。 解决方案:在sql server中,有一个随机函数newid(),可以用order by newid()来解决随机排序和随机取出数据 阅读全文
posted @ 2019-06-08 08:45 张工502219048 阅读 (927) 评论 (0) 编辑

2019年6月7日 #

摘要:问题描述:在工作过程中,有时会遇到这样的问题,写好sql查询语句在数据库中查询数据,看到行数(比如说是1000行),但是把查询结果复制到Excel里面,却发生了行列错位问题,而导致Excel里面的行数是超过1000行的,造成数据行数的不一致。 问题重现:字段值包含char(10)换行符,复制字段值到 阅读全文
posted @ 2019-06-07 21:46 张工502219048 阅读 (1478) 评论 (1) 编辑

2019年6月3日 #

摘要:工作过程中,如果一个数据库的表比较多,手工编写统计脚本就会比较繁琐,于是摸索出自动生成各表统计数据量脚本的通用方法,直接上代码: 以在ReportServer数据库中运行这个脚本为例,运行结果如下图(表名、数据量): 后记:以上是本人在实际工作中遇到的sql server编写通用脚本自动统计各表数据 阅读全文
posted @ 2019-06-03 21:31 张工502219048 阅读 (559) 评论 (0) 编辑

2019年6月1日 #

摘要:1. 收款码1.1 保存把自己的支付宝和微信二维码收款码(注意是收款码而不是付款码,别搞错)两个图片保存到电脑,并使用图片编辑工具(Windows自带画图软件,或者QQ等其他截图工具都可以)只截取二维码部分即可。 1.2 上传进入个人博客,点“管理”,再点“相册”,添加好相册名称(类似文件夹名称), 阅读全文
posted @ 2019-06-01 10:56 张工502219048 阅读 (878) 评论 (1) 编辑

2019年5月31日 #

摘要:软件环境:1.本机是sql server 2012,远程服务器是sql server 20162.本机是Windows 7,安装不了sql server 2016 问题场景1:本机sql server 2012 profiler可以对远程sql server 2016进行跟踪,但保存的跟踪文件(.t 阅读全文
posted @ 2019-05-31 21:29 张工502219048 阅读 (377) 评论 (0) 编辑