-
编写高质量代码改善C#程序——使用泛型集合代替非泛型集合(建议20)
软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点...
数据库操作教程 2022-09-23 17:54:32 -
SQLServer使用游标处理Tempdb究极竞争-DBA问题-程序员必知
SQLServertempdb分配竞争算是DBA老生常谈的问题了,几乎现在所有的DBA都知道多建几个文件来解决/缓解问题.但是深层次的的竞争依旧不可避免.这里给大家剖析下游标在tempdb中的特点使其在一定场景下替代临时表/表变量对象,解决深层次的tempdb竞争问题.在抛出这个不可避免的问题之前我们先简要看下什么是tempdb竞争.我们拿SQLServer创建一个临时表的过程来描述1在系统表中创建表的条目(系统数据页中)2分配一个IAM页并找到一个混合区在PFS页中标记3分配一个数据页(查看SGAM页,查看PFS页后并更新,更新IAM页)4表记录记录到系统表中从上述过程可以看出创建一个简单临时表需要查找,更新一系列的系统表/系统数据页,且当使用完删除临时表时上述操作逆向进行.索引相应的创建/销毁一旦大量并发,内部竞争也就产生了.虽然tempdb的缓存策略一定程度可以缓解相应创建过程的IAM,数据页分配,SqlServertempdb原理-缓存机制解析实践,但竞争依旧.可以看到SGAM,PFS等系统页是表创建过程的必经之路,他的分配竞争也就十分明显了.这也就是为什么采用多个数据文件,让...
数据库操作教程 2022-09-23 17:45:42 -
SqlDateTime溢出该怎么解决
错误出现:导入数据时出现“SqlDateTime溢出。必须介于1/1/175312:00:00AM和12/31/999911:59:59PM之间...
数据库操作教程 2022-09-23 17:44:50 -
SqlLoader怎么使用
SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据...
数据库操作教程 2022-09-23 17:35:16 -
在SQL触发器或存储过程中获取在程序登录的用户
实现一个AuditLog的功能,是B/S结构专案。每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪...
数据库操作教程 2022-09-23 17:23:26 -
教你怎么使用sql游标实例分享
[sql]--1.将每个老师的工资更新为原来的工资+奖金--定义两个变量,用来存储ttid与rewarddeclare@tidintdeclare@rewardmoney--1。建立一个基于奖金表的游标declarecur_rewardcursorfast_forwardforselectttid,rewardfromTblTeacherSalary--2.打开游标opencur_reward--通过游标读取数据fetchnextfromcur_rewardinto@tid,@rewardwhile@@fetch_status=0begin--更新工资updateTblTeachersetttsalary=ttsalary+@rewardwherettid=@tidfetchnextfromcur_rewardinto@tid,@rewardend--3.关闭游标closecur_reward--4.释放资源deallocatecur_reward说明:在一般情况下,不要使用游标...
数据库操作教程 2022-09-23 17:17:18 -
bak文件怎么打开2000w数据怎么打开?
首先这个bak文件是SQL数据库的备份文件,要使用SQL恢复然后就可以查询了找到需要的文件注意解压出来有7GB+1、下载SQLserver2012express(带管理器)2、安装上那个“全新安装”3、打开SQLservermanagementstudio4、右键点击红圈圈“数据库”-----“还原数据库”确定导入---等待完成然后就会出现这个数据库右键,点击显示前1000行,右侧就会出现如图可以看见使用这些代码就可以显示出1000行的信息那么我们就去掉那个top1000变成这样然后最关键的在最下面加入点击“执行”下面就会出现结果我用ssd来搜索,大概要10秒完成检索,所以各位自己掂量吧。...
数据库操作教程 2022-09-23 17:15:57 -
数据库性能优化三:程序操作优化提升性能
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第三部分 概述:程序访问优化也可以认为是访问SQL语句的优化,一个好的SQL语句是可以减少非常多的程序性能的,下面列出常用错误习惯,并且提出相应的解决方案一、操作符优化1.IN、NOTIN操作符IN和EXISTS性能有外表和内表区分的,但是在大数据量的表中推荐用EXISTS代替IN。NotIN不走索引的是绝对不能用的,可以用NOTEXISTS代替2.ISNULL或ISNOTNULL操作索引是不索引空值的,所以这样的操作不能使用索引,可以用其他的办法处理,例如:数字类型,判断大于0,字符串类型设置一个默认值,判断是否等于默认值即可3.<>操作符(不等于)不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描...
数据库操作教程 2022-09-23 17:06:12 -
SQLServer误区30日谈第3天即时文件初始化特性可以在SQLServer中开启和关闭
本系列文章是我在sqlskill.com的PAUL的博客看到的,很多误区都比较具有典型性和代表性,原文来自T-SQLTuesday#11:Misconceptionsabout....EVERYTHING!!,经过我们团队的翻译和整理发布在AgileSharp和博客园上。希望对大家有所帮助...
数据库操作教程 2022-09-23 17:01:25 -
SQLServer游标的使用/关闭/释放/优化小结
游标是邪恶的!在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服...
数据库操作教程 2022-09-23 16:47:25 -
sqlserver游标使用步骤示例(创建游标关闭游标)
游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据...
数据库操作教程 2022-09-23 16:46:05