文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
html入门培训 网站服务器软件  化妆品经典广告词  雅芳化妆品价格  avon化妆品 net 入门培训 房地产销售广告 化妆品广告词 网络工程师
您现在的位置: 学习网 > 网络编程语言 > Oracle > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
普通文章如何从 MySQL 数据库表中检索数
普通文章[SQL Server]探讨SQL2000对XML
普通文章[Oracle]减少临时表使用空间的
普通文章如何自动发布MS SQL SERVER数据
推荐文章Oracle外部程序的触发小结
普通文章[Sql server]如何得到用户的继
普通文章一些有用的sql语句实例
普通文章轻松三步走!防止SQL数据库注入
普通文章Oracle DBA数据库结构试题精选
普通文章Oracle进程导致CPU 100%解决步
 
频 道 推 荐
普通文章最危险的四大漏洞之一——数据
普通文章SQL server 数据库定时自动备份
普通文章Sql server 2005加强的十大安全
普通文章谈几个Sql server的日志
普通文章Sql Server去除表中的不可见字
普通文章五种提高 SQL Server 性能的方
普通文章Oracle 10g第2版新特性之SQL和
普通文章Oracle 10g第2版新特性之性能特
普通文章Oracle数据库10g的安全性和身份
普通文章SQL Server中如何用通配符搜索
普通文章MySQL 配置(Ubuntu篇 供新用户
普通文章MySQL配置(Ubuntu篇 供新用户参
普通文章sql server几个容易出错的数据
普通文章怎么样保护MySQL中重要的数据之
普通文章一个Select出一个表中第N条记录
普通文章数据库输出HTML格式报表的测试
普通文章SQL Server2005的XML数据类型之
普通文章用标准的SQL语句实现查询记录分
普通文章装不上SQL Server怎么办
普通文章Sql server传给语句的输入数据
 
频 道 推 广
 
[SQL Server]存储过程编写和优化经验           ★★★
[SQL Server]存储过程编写和优化经验
作者:佚名 文章来源:本站整理 更新时间:2008-5-14 19:49:22

  一、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。  

  二、介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,就会遇到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过优化过的SP要比一个性能差的SP的效率甚至高几百倍。  

  三、内容:  

  1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验。  

  2、开发人员在提交SP前,必须已经使用set showplan on分析过查询计划,做过自身的查询优化检查。  

  3、高程序运行效率,优化应用程序,在SP编写过程中应该注意以下几点:   

  a)SQL的使用规范:

   i. 尽量避免大事务操作,慎用holdlock子句,提高系统并发能力。

   ii. 尽量避免反复访问同一张或几张表,尤其是数据量较大的表,可以考虑先根据条件提取数据到临时表中,然后再做连接。

   iii. 尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该改写;如果使用了游标,就要尽量避免在游标循环中再进行表连接的操作。

   iv. 注意where字句写法,必须考虑语句顺序,应该根据索引顺序、范围大小来确定条件子句的前后顺序,尽可能的让字段顺序与索引顺序相一致,范围从大到小。

   v. 不要在where子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。

   vi. 尽量使用exists代替select count(1)来判断是否存在记录,count函数只有在统计表中所有行数时使用,而且count(1)比count(*)更有效率。

   vii. 尽量使用“>=”,不要使用“>”。

   viii. 注意一些or子句和union子句之间的替换

   ix. 注意表之间连接的数据类型,避免不同类型数据之间的连接。

   x. 注意存储过程中参数和数据类型的关系。

   xi. 注意insert、update操作的数据量,防止与其他应用冲突。如果数据量超过200个数据页面(400k),那么系统将会进行锁升级,页级锁会升级成表级锁。   

  b)索引的使用规范:

   i. 索引的创建要与应用结合考虑,建议大的OLTP表不要超过6个索引。

   ii. 尽可能的使用索引字段作为查询条件,尤其是聚簇索引,必要时可以通过inde

[1] [2] 下一页

 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    用DW2004打造PHP+MYSQL数据库环境
    在SQL Server中保存和输出图片
    ASP 编程中20个非常有用的例子(二)
    如何防范SQl注入
    SQL Server与Access、Excel的数据转换
    如何避免asp的SQL的执行效率低
    ASP Upload 使用说明
    ASP连接SQL2000的方法
    分页的显示-->前后翻滚10页的实现
    解决在ASP中执行数据库查询中的特殊字符的问题
    如何在数据库表中建立复合主键(即多个字段同时作为主键)
    编程方向
    用ADO管理SQL Server数据库及其设备
    手工创建数据库的全部脚本及说明
    数据库综合开发实践
    Microsoft 数据仓库架构 !
    使用 HTTP 访问 SQL Server
    sql
    用中值排序基数法实现树状结构
    如何取得MSSQL中的存储过程的返回值
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    破天一剑私服 - 冒险岛外挂 - 传奇外挂 - dnf外挂 - 地下城与勇士外挂 - dnf外挂 - 传奇外传外挂 - qq三国外挂 - 天龙八部外挂 - 劲舞团私服 - 劲舞团私服 - 传奇私服 - 传奇私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服 - 传世私服 - 魔兽世界私服 - 魔兽世界私服 - 完美世界私服

    点击这里给我发消息

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号