惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
D
Docker
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
IT之家
IT之家
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
B
Blog
D
DataBreaches.Net

博客园 - gz.net

gridview绑定问题 - gz.net - 博客园 好久没来了。共享一个自动生成编号的存储过程 jsp数据库大全 login Microsoft Windows SharePoint Services ASP.NET程序中常用代码汇总(一) - gz.net - 博客园 ASP.NET动态生成HTML页面 日语的初次认识 日语的初次认识 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度? 检测远程URL是否存在的三种方法 ---转自孟子 Eclipse快速上手指南 自己动手用c#写控件 代价 五种提高 SQL 性能的方法 js教程 HTML教程 HTML教程 存储过程编写经验三
存储过程经验二
gz.net · 2004-09-06 · via 博客园 - gz.net

1.       结果的三种获得方法:可带回值的参数,return 值,select 返回记录集

2.       编写过程

1)  参数

2)  设置环境:显示设置一些环境开关:如加锁方法、set nocount on 等,否则因为用户环境不同,影响运行效果。

3)  框架:构思结构

4)  变量:统一放在前面,并注释。

5)  注释:注释和代码同步完成,保持一致。

6)  编写

7)  讨论记录

8)  测试

3.       必须考虑的问题

3.1     可读性

1)  逻辑清晰

2)  语句不要过于复杂,靠产生临时表过渡

3)  注释

4)  一屏可视,便于思考

5)  艺术感

3.2     效率

一种方法和语句的使用,必须考虑它的执行效率。注意以下问题:

1)  回避not in查询

2)  游标嵌套慎用

3)  使用索引:善于用索引,大大提高速度,在语句中有时需要显式说明。

4)  事务嵌套慎用。

结存程序一般30分钟以上,主要原因就是使用了not in 查询、游标嵌套、没有用索引。改造后同样数据量9秒就能完成。

4.       事务

1)  保持一致性所必需,必须有意识的考虑何时必须用事务。

2)  注意加锁特性,加锁属性开关状态。辽阳的例子,informix缺省加锁返回机制没有注意,造成偶尔死机,问题非常隐蔽。

3)  处理不当会带来系统死锁。

4)  仔细测试,否则的灾难将难以挽回。

5)  大量语句的事务推荐方法,将存储过程嵌在事务中,这样可以防止意外出错,造成死锁。见附件1

5.       测试

5.1     测试环境的搭建,要保存一个对应的程序,因为不会轻易结束。见附件3

5.2     编写和测试花一样的时间。

5.3     任何改动,都要测试。

5.4     叫真,不要想当然,因为还有系统软件的问题。如,错误号状态,是最后一个语句的错误,Sql 7.0bug : 语句“if @@Error <> 0,永远得不到想象的结果。

5.5     调式工具