時(shí)間:2024-03-12 20:33作者:下載吧人氣:29
大家聽到“嗅探”這個(gè)詞應(yīng)該會(huì)覺(jué)得跟黑客肯定有關(guān)系吧,使用工具嗅探一下參數(shù),然后截獲,脫褲o(∩_∩)o 。
事實(shí)上,我覺(jué)得大家太敏感了,其實(shí)這篇文章跟數(shù)據(jù)庫(kù)安全沒(méi)有什么關(guān)系,實(shí)際上跟數(shù)據(jù)庫(kù)性能調(diào)優(yōu)有關(guān)
相信大家有泡SQLSERVER論壇的話不多不少應(yīng)該都會(huì)見過(guò)“參數(shù)嗅探”這幾個(gè)字
這里有三篇帖子都是講述參數(shù)嗅探的
http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/caccb7f3-8366-4954-8f8a-145eb6bca9dd
http://msdn.microsoft.com/zh-cn/magazine/ee236412.aspx
http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/bfbe54de-ac00-49e9-a83b-f97a60bf74ef
下面我給出一個(gè)測(cè)試數(shù)據(jù)庫(kù)的備份文件,里面有一些表和一些測(cè)試數(shù)據(jù) ,大家可以去下載,因?yàn)槲蚁旅嬗玫臏y(cè)試表都是這個(gè)數(shù)據(jù)庫(kù)里的
只需要還原數(shù)據(jù)庫(kù)就可以了,這個(gè)數(shù)據(jù)庫(kù)是SQL2005版本的,數(shù)據(jù)庫(kù)名:AdventureWorks
下面只需要用到三張表,表里面有索引:
[Production].[Product] [SalesOrderHeader_test] [SalesOrderDetail_test]
數(shù)據(jù)庫(kù)下載鏈接:AdventureWorks
其實(shí)簡(jiǎn)單來(lái)講,參數(shù)嗅探我的很通俗的解釋就是:SQLSERVER用鼻子嗅不到具體參數(shù)是多少
所以他不能選擇最合適的執(zhí)行計(jì)劃去執(zhí)行你的查詢,所以參數(shù)嗅探是一個(gè)不好的現(xiàn)象。
想真正了解參數(shù)嗅探,大家可以先創(chuàng)建下面兩個(gè)存儲(chǔ)過(guò)程
存儲(chǔ)過(guò)程一:
USE [AdventureWorks]
GO
DROP PROC Sniff
GO
CREATE PROC Sniff(@i INT)
AS
SELECT COUNT(b.[SalesOrderID]),SUM(p.[Weight])
FROM [dbo].[SalesOrderHeader_test] a
INNER JOIN [dbo].[SalesOrderDetail_test] b
ON a.[SalesOrderID]=b.[SalesOrderID]
INNER JOIN [Production].[Product] p
ON b.[ProductID]=p.[ProductID]
WHERE a.[SalesOrderID]=@i
GO
網(wǎng)友評(píng)論