位置: 编程技术 - 正文

SQLServer 数据库开发顶级技巧(sqlserver数据库版本号怎么查)

编辑:rootadmin
确保代码中的数据类型与数据库中的列类型保持一致   确保您的应用程序各层数据类型保持一致是非常重要的。例如,如果一列的数据类型为NVARCHAR(),那么,您应该在代码查询与存储过程中使用相同类型的局部变量。   同样,数据层中的ADO.NET代码也应该指定相同的数据类型与长度。为什么这很重要呢?因为如果数据类型与查询匹配,SQL Server需要先进行数据类型的隐式转换,以使它们能够匹配。   也有一些情况,即使为参照列设置了索引,SQL Server却不能使用此索引。因此,变量与列类型一致的情况下,您的查询可能会使用Index Scan而不是Index Seeking,这样需要执行的时间就更长了。 在批处理中进行大规模更新   开发人员有时需要对一张表中的一列或多列中的全部或大部分列进行数据修改。通常,对小表而言这并不是一个什么问题。   然而,如果表很大的话,您的更新语句将锁定整张表,使它无法使用,甚至都不能读取。更有甚者,对一张频繁变化的表进行更新可能使整个应用程序或网站瘫痪。有时,在极端情况下,一个大的、单个事务将导致事务日志急剧增长,并最终耗尽数据库服务器磁盘空间。   因此,好的策略是进行分批大规模更新,并结合频繁的事务日志备份。以我的经验看,最好一批,至,工作量。当您开始考虑应用批量处理时,确定阈值很困难,因为这取决于诸多因素比方说如何使I/O更快,如何使表高效利用等等。   您可以考虑一个准则。在ADO.NET中,典型的命令超时时间是秒左右。当开始更新时,其他进程一直处于等待状态直到更新结束。因此如果期望更新时间超过-秒,您最好进行一个批处理更新。否则,将以应用程序超时而结束。   下面这段简单的代码展示了如何更新表中的一列,应用的批量大小为,:   WHILE ( 0 = 0 )   BEGIN   UPDATE TOP ( )   Person   SET Status = 2   WHERE Status = 1   IF @@ROWCOUNT = 0   BREAK   END   应用FOR-EACH存储过程   有些时候您可能需要对某一特定类型的所有对象执行相同的操作。例如,您可能需要对数据库中的所有表分配特定的权限。开发人员经常通过指针设置这样的任务,但是SQL Server中两个简单的存储过程可以更容易实现:sp_msForEachTable 与 sp_msForEachDB。   每个存储过程作为一个参数执行命令。在命令中,您把表名或数据库名作为一个问号标志占位符嵌入到参数中。命令运行时,SQL Server把问号标志替换为表名或数据库名,并执行。   例如,下面的代码在Server上除TempDB外,对每个数据库进行全备份:   EXEC sp_msforeachdb 'IF ''?'' <> ''tempdb'' BACKUP DATABASE ?   TO DISK=''c:backups?.bak'' WITH INIT'   这是另外一个如何应用这些存储过程的例子。下面的代码在禁用外键后,删除数据库所有表中的数据。当然了,当使用这些代码时,您需要谨慎的练习。   EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'   EXEC sp_MSForEachTable '   IF OBJECTPROPERTY(object_id(''?''), ''TableHasForeignRef'') = 1   DELETE FROM ?   else   TRUNCATE TABLE ?   '   EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'   建立数据库版本   对开发人员而言,如同对您的应用程序版本化一样,对数据库执行数字版本化是一个很好的方法。   执行版本化并不需要很大的工作量,您只需创建一个包含版本号列及时间戳列的版本表即可。当部署那些脚本时,您将更好的分配每个脚本集合的版本号,并对版本表进行更新,检查错误与数据库对比将变得更加容易。您甚至可以对脚本进行编号,这样一来如果数据库中建立的编号不比脚本中建立的编号高的话,脚本就不执行。样例数据库AdventureWorks中的AWBuildVersion就是一个很好的例子,可以看看。   尽量减少网络会话   这个技巧主要针对从数据库取数据的网络应用程序。缺乏经验的开发人员常常意识不到数据库调用是代价很高的操作。对于小应用程序而言,这不是什么大问题。但是,由于很多网站变得非常火爆导致数以千计的用户同时在线,那么您就有必要提前考虑它的可扩展性与网页加载时间的优化问题了。   我曾经看到过的网页有多达个数据库调用,而大多数正在执行的存储过程就是为了返回单独的一行或一个值。需要牢记的是在SQL Server中一个单独的存储过程能够返回多个结果集。在一个存储过程中,您可以使用ADO.NET中的DataSet对象以及把DataTable对象组成一个集合。

推荐整理分享SQLServer 数据库开发顶级技巧(sqlserver数据库版本号怎么查),希望有所帮助,仅作参考,欢迎阅读内容。

SQLServer 数据库开发顶级技巧(sqlserver数据库版本号怎么查)

文章相关热门搜索词:sqlserver数据库和mysql区别,sqlserver数据库恢复,sqlserver数据库恢复挂起状态,sqlserver数据库安装步骤,sqlserver数据库安装步骤,sqlserver数据库端口号怎么查看,sqlserver数据库恢复,sqlserver数据库恢复,内容如对您有帮助,希望把文章链接给更多的朋友!

远程连接SQLSERVER 服务器方法 测试条件:一个公网IP,两个静态IP。具体步骤:一、ping服务器IP能否ping通观察远程SQLServer服务器的物理连接是否存在。如果不行,请检查,查看配

SQLserver 企业版 出现"进程发生了严重的异常"错误的处理方法 情景:一直用到比较好,突然不行处理步骤:关了等防火墙;(影响不大,但是有可能是因为杀毒软件处理时把某个关键文件heal了)装了微软补丁http

SQLServer 触发器 数据库进行数据备份 createtabletest3(idintprimarykeynotnullidentity(1,1),unamevarchar(),uageint);createtabletest3_bak(idintprimarykeynotnullidentity(1,1),bidint,unamevarchar(),uageint,activechar(1));第二步,编

标签: sqlserver数据库版本号怎么查

本文链接地址:https://www.jiuchutong.com/biancheng/349406.html 转载请保留说明!

上一篇:数据转换冲突及转换过程中大对象的处理(数据转换常见策略)

下一篇:远程连接SQLSERVER 2000服务器方法(远程连接sqlserver的数据库和本地连接时不一样)

  • 企业代扣代缴个人所得税
  • 资产计提折旧的科目
  • 增值税三级明细科目包括
  • 所得税汇算清缴捐赠支出扣除标准
  • 小规模纳税人建筑服务税率是多少
  • 核定征收企业有哪些
  • 餐饮企业销售外购食品 增值税税率cpa
  • 土地增值税预缴最新税法规定
  • 会计核算体系的建立
  • 公司和员工之间
  • 土地出让金抵减销项税如何申报
  • 注册地在境外的公司需要纳税么
  • 报关单增值税税单收货人更改
  • 公司筹建期间发生的费用没有发票
  • 小规模纳税人未开票收入如何做账
  • 建筑业预缴增值税税率
  • 我国个人取得的各种所得有几种类型
  • 收到发票,未付款,付款的时候需要把发票复印做附件吗
  • 资本公积转增资本时应注意的问题主要包括哪些?
  • 党建经费如何入账
  • 我的初级备考日记--你都没坚持,还谈什么未来
  • 申报表利润总额与财务报表利润总额
  • 不能取得发票的财务费用怎么做明细好一点
  • 银行存款收款凭证属于什么凭证
  • 研发费用资本化可以加计扣除吗
  • win10电脑输入法不见了怎么恢复
  • 购货方收到红字发票计入进项税转出还是进项税额负数?
  • php字符串变量
  • 企业所得税直接法和间接法
  • initpki.dll有什么用
  • 现金支付医保报销
  • 无形资产研发成功后的支出
  • 收到汽车维修费的会计分录
  • 穹顶高度
  • php创建视图
  • 水费里的代收费用是什么意思
  • 残保金解决方案
  • win11开机后开始菜单没反应
  • web主要的请求方式有几种
  • 150讲轻松搞定python网络爬虫
  • css面试题及答案
  • 法人章两个字的怎么印
  • 应付职工薪酬相关认定有哪些
  • 怎么解决食堂拥挤问题
  • phpcms怎么用
  • 个税申报赡养老人可以填公婆吗
  • phpmyadmin密码修改
  • 用友t3软件的系统内没有利润表模块
  • 购买方如何申请红字信息表填写负数吗
  • 缴纳增值税账务
  • 应收账款坏账计入资产减值损失还是信用减值损失
  • 公司垫付员工社保分录
  • 从货款中扣除罚款的分录怎么写
  • 零申报是不是什么都不用填
  • 企业取得租车发票
  • 年化利率是什么意思
  • 京东卖家怎么开普通发票
  • sql server自动生成id
  • centos的版本有哪些
  • mac版安装教程
  • bios报警声
  • xp怎么删除电脑系统
  • windows 个性化设置包含哪些方面?
  • 笔记本如何一键锁屏快捷键
  • WinXP下载东西总提示找不到文件的原因及解决方法
  • windows1020h2版本怎么样
  • win8如何激活
  • win7删除开机启动程序
  • [edge(边缘)]
  • html用法
  • 详解 linux mysqldump 导出数据库、数据、表结构
  • shell截取字段
  • pycharm支持python3.9
  • unity3d初学者教程视频
  • 轻松实现财富自由
  • js如何实现类的继承
  • jquery解析XML及获取XML节点名称的实现代码
  • 增值税纳税申报表附列资料(三)
  • 贸易公司服装
  • 广东税务微信公众号微办税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设