知识大全 SQL Server存储过程编写和优化措施[2]
Posted 索引
篇首语:丈夫欲遂平生志,一载寒窗一举汤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server存储过程编写和优化措施[2]相关的知识,希望对你有一定的参考价值。
SQL Server存储过程编写和优化措施[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
vi 尽量使用exists代替select count( )来判断是否存在记录 count函数只有在统计表中所有行数时使用 而且count( )比count(*)更有效率vii 尽量使用 >= 不要使用 >
viii 注意一些or子句和union子句之间的替换
ix 注意表之间连接的数据类型 避免不同类型数据之间的连接
x 注意存储过程中参数和数据类型的关系
xi 注意insert update操作的数据量 防止与其他应用冲突 如果数据量超过 个数据页面( k) 那么系统将会进行锁升级 页级锁会升级成表级锁
b)索引的使用规范
i 索引的创建要与应用结合考虑 建议大的OLTP表不要超过 个索引
ii 尽可能的使用索引字段作为查询条件 尤其是聚簇索引 必要时可以通过index index_name来强制指定索引
iii 避免对大表查询时进行table scan 必要时考虑新建索引
iv 在使用索引字段作为条件时 如果该索引是联合索引 那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引 否则该索引将不会被使用
v 要注意索引的维护 周期性重建索引 重新编译存储过程
c)tempdb的使用规范
i 尽量避免使用distinct order by group by having join cumpute 因为这些语句会加重tempdb的负担
ii 避免频繁创建和删除临时表 减少系统表资源的消耗
iii 在新建临时表时 如果一次性插入数据量很大 那么可以使用select into代替create table 避免log 提高速度 如果数据量不大 为了缓和系统表的资源 建议先create table 然后insert
iv 如果临时表的数据量较大 需要建立索引 那么应该将创建临时表和建立索引的过程放在单独一个子存储过程中 这样才能保证系统能够很好的使用到该临时表的索引
v 如果使用到了临时表 在存储过程的最后务必将所有的临时表显式删除 先truncate table 然后drop table 这样可以避免系统表的较长时间锁定
vi 慎用大的临时表与其他大表的连接查询和修改 减低系统表负担 因为这种操作会在一条语句中多次使用tempdb的系统表 d)合理的算法使用
根据上面已提到的SQL优化技术和ASE Tuning手册中的SQL优化内容 结合实际应用 采用多种算法进行比较 以获得消耗资源最少 效率最高的方法 具体可用ASE调优命令 set statistics io on set statistics time on set showplan on 等
cha138/Article/program/SQLServer/201311/22373相关参考
SQLServer编写存储过程小工具 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在开发数据库
b)索引的使用规范 i索引的创建要与应用结合考虑建议大的OLTP表不要超过个索引 ii尽可能的使用索引字段作为查询条件尤其是聚簇索引必要时可以通
一介绍 在数据库的开发过程中经常会遇到复杂的业务逻辑和对数据库的操作这个时候就会用SP来封装数据库操作如果项目的SP较多书写又没有一定的规范将会影响以
用ASP调用SQLServer的视图和存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
VS和SQLServer对存储过程进行版本排序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 概
SQLServer加密存储过程的破解问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! CREA
SQLServer存储过程编程经验技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! MS SQ
知识大全 Delphi与SQL Server存储过程编程详解
Delphi与SQLServer存储过程编程详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 .Net下调用SQL Server2000中存储过程
.Net下调用SQLServer2000中存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
JSP中调用SQLServer存储过程实例讲解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 下