WEB开发网
开发学院数据库MSSQL Server 在 SQL Server数据库开发中的十大问题 阅读

在 SQL Server数据库开发中的十大问题

 2007-05-17 09:36:25 来源:WEB开发网   
核心提示: 专家回答:这里是用来比较T-SQL例程和CLR例程性能的一种常用的规则:用你的数据,在你的服务器上,在 SQL Server数据库开发中的十大问题(3),测试两套配置,看看哪一个比较好,然后通过INSERT EXEC语句来执行这个过程并保存结果,一旦结果保留在临时表中了,就是说,许多人都运

专家回答:

这里是用来比较T-SQL例程和CLR例程性能的一种常用的规则:用你的数据,在你的服务器上,测试两套配置,看看哪一个比较好。

就是说,许多人都运行过性能测试,一般的结果就是T-SQL在标准的CRUD(创建、读取、更新、删除)操作上表现要比好一点,而在复杂数学、字符串赋值和其他的超过数据访问的任务上,则是CLR的性能表现更好一点。

SQL Server 的专家Gustavo Larriera编辑了如下一些关于这个主题的有用链接:

·在 SQL Server 2005中使用CLR Integration。

·简单介绍在 SQL Server 2005中的 CLR Integration。

·在 SQL Server 2005中对CLR 和T-SQL做出选择。

·介绍 SQL Server 2005中的 CLR Integration。

·SQL Server 闲谈: SQL Server 2005 Beta 2 CLR问题与回答。

·数据库管理员的防御.NET。

·用户自定义函数的性能比较。

如何在一个存储过程中使用另一个存储过程的结果

专家回答:

只要存储过程只产生了一个单个的结果,要在另外一个存储过程中使用这个存储过程产生的输出,这个技术是非常直接的。这个技术就是使用一个临时表来装载存储过程的巨额iguo,然后通过INSERT EXEC语句来执行这个过程并保存结果。一旦结果保留在临时表中了,他们就可以像使用其它表数据一样来使用它了。

这里是我们可能会复用的一个过程例子:

CREATE PROC usp_Demo_AllAuthors as
select * from pubs..authors
GO

现在有一个存储过程使用usp_Demo_AllAuthors的结果:

CREATE proc usp_Demo_SPUser as CREATE TABLE #Authors (
au_id varchar(11) NOT NULL PRIMARY KEY CLUSTERED,
au_lname varchar (40) NOT NULL ,
au_fname varchar (20) NOT NULL ,
phone char (12) NOT NULL,
address varchar (40) NULL ,
city varchar (20) NULL ,
state char (2) NULL ,
zip char (5) NULL ,
contract bit NOT NULL
)– Execute usp_Demo_AllAuthors storing the
– results in #Authors
insert into #Authors
exec usp_Demo_AllAuthors– Here we use the #Authors table. This example only
– only selects from the temp table but you could do much
– more such as use a cursor on the table or join with
– other data.
SELECT au_fName + ‘ ‘ + au_lname as [name]
, address+’, ‘+city+’, ‘+state+’ ‘+zip [Addr]
from #AuthorsDROP TABLE #Authors
GO

上一页  1 2 3 4 5 6  下一页

Tags:SQL Server 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接