仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 827|回复: 7
打印 上一主题 下一主题

[学习教程] SQL基本教程及代码优化(四)

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:19:22 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继存储历程、触发器、函数代码优化
3.1.在触发器的入手下手处到场行数查验
–注重@@rowcount语句的地位

3.2.没有需要的行信息反应
Setnocounton

3.3.尽早反省实行前提
–反省触发器触发前提
–反省进一步处置的条件前提

3.4.在举行相干表的更新(新增/修正/删除)时应举行材料存在性判别
–假如存在性判别过于庞大,也能够思索在目标表创建束缚或触发器保护

3.5.可以兼并的相干表更新(新增/修正/删除)只管兼并,削减更新次数
–利用一时表存储两头了局,在处置完一时表了局后再更新实表

3.6.将事件工夫把持到最短,事件应尽量串行实行削减逝世锁
–在最接近对实表收回DML语句出入手下手事件,在对实表收回DML语句后当即提交或回滚事件

3.7.变量重用
–过量的变量界说会稍微下降功能

3.8.一时表的利用
–会合创立一时表,显式删除一时表

3.9.游标的利用
3.10.多行处置
–经由过程分组手艺
–借助一时表
–借助游标

3.11.视图与函数的选择
–将可以改革成视图的函数改革成视图或增加响应处置多行的视图

3.12.利用表变量

3.13.将庞大的SQL改成利用表变量或一时表分步处置

3.14.只管罕用嵌套触发器

3.15.利用sp_executesql取代exec

3.16.假如存储历程仅前往单个值,利用output参数比前往了局集要快

3.17.一般情形下利用毗连比利用子查询快

3.18.只管制止重复会见统一张或几张表,特别是数据量较年夜的表,能够思索先依据前提提取数据光临时表中,然后再做毗连。

3.1触发器基础常识
3.1.1.SQLServer2005两种触发器选项
–DML触发器
–DDL触发器(New):审计及标准数据库操纵

3.1.2.Insteadof触发器和After触发器对照

3.1.3.inserted和deleted表

3.1.4.update()的利用

3.2SQLServer2005游标

4种服务器游标范例:
–静态游标:游标翻开时创建在tempdb中,翻开后数据库中任何变更不会表现在游标中(除非封闭后从头翻开)。静态游标是只读的。利用“Static”润色。比方:
·静态游标将不会显现其翻开今后再数据库中新拔出的行,即便它们切合游标SELECT查询前提;
·静态游标仍会显现在游标翻开今后删除的行;
·静态游标将仍旧显现被修正行的原始数据。

–静态游标:当转动游标时,反应了局会合所做的一切变动。利用“Dynamic”润色。

–只进游标:不撑持转动,只撑持从头至尾按次提取。对一切影响了局会合行的insert、update、delete语句,其效果在这些行中提取时是可见的。可是,外行提取后对行的所做的修正对游标是不成见的。利用“Forward_Only”润色。

–键集驱动游标:由一套被称为键集的独一标识符把持。对非键集列中的数据值所做的变动,在用户转动时是可见的。在游标外对数据库所做的拔出在游标内是不成见的。利用“Keyset”润色。这章描述如何检查和处理在MySQL数据库中的数据损坏。如果你的表损坏很多,你应该尝试找出其原因!见G.1调试一个MySQL服务器。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 17:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表