Sql存储过程代码优化
请大家看看,我下面这个过程还能优化吗(简洁和效率)?
USE [price]
GO
/****** Object: StoredProcedure [dbo].[getprice] Script Date: 01/19/2012 18:04:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[getprice]
@DT nvarchar(20),@PM nvarchar(20),@GG int,@CZ int,@CD int
AS
BEGIN
SET NOCOUNT ON;
declare @pri1 int
declare @pri2 float
declare @pri3 float
declare @pri4 float
declare @price float
set @price=0
select @pri1=AVG(CONVERT(int , JG )) from [price].[dbo].[v_Price] where PM=@PM and GG=@GG and CZ=@CZ and CD=@CD and DT=@DT
select @pri2=AVG(CONVERT(float , JG )) from [price].[dbo].[v_Price] where PM=@PM and GG=@GG and CZ=@CZ and CD=@CD and DATEDIFF(MM, CONVERT(datetime, @DT, 120 ),DT)=1
select @pri3=AVG(CONVERT(float , JG )) from [price].[dbo].[v_Price] where PM=@PM and GG=@GG and CZ=@CZ and CD=@CD and DATEDIFF(MM, CONVERT(datetime, @DT, 120 ),DT)=2
select @pri4=AVG(CONVERT(float , JG )) from [price].[dbo].[v_Price] where PM=@PM and GG=@GG and CZ=@CZ and CD=@CD and DATEDIFF(MM, CONVERT(datetime, @DT, 120 ),DT)=3
if @pri1>=@pri2 set @price=@pri2 else set @price=@pri1
if @pri3<=@price set @price=@pri3
if @pri4<=@price set @price=@pri4
select @price as RE
END
...全文
相关推荐
【SQL代码优化软件】SQL_Expert_For_SQL_Server_v25
SQL Expert for SQL Server v25 是一款专门针对微软SQL Server数据库管理系统设计的SQL代码优化工具。
存储过程生成器c#源码 既是源码还是一个很好用的编程辅助工具
代码优化:自动优化生成的SQL语句,提高执行效率。5. 错误检查:在生成存储过程前进行语法检查,避免因错误导致的运行时问题。6. 版本控制:集成版本控制功能,便于追踪和比较不同版本的存储过程。
自动生成存储过程的工具
- 自定义模板:允许用户定义存储过程的生成模板,满足特定的需求和风格。 - 代码优化:部分工具会根据最佳实践对生成的SQL代码进行优化。
七天搞定SQL2005千万级别数据记录+数据库优化经验+代码优化+索引优化
然后,针对最后一页分页速度仍然较慢的问题,开发者改进了数据库分页的存储过程,精确计算最后一页所需记录数,有效缓解了这一问题。此外,代码优化也是关键。
MySQL存储过程编程
- **代码优化**:介绍了一系列最佳实践,用于优化存储过程的性能,包括但不限于索引使用、查询优化等。- **高效编程实践**:强调了编写可维护、可扩展的代码的重要性,这对于长期项目尤其关键。


疑难问题
