SQL Server 2008 でマネージ コードを実行する際のパフォーマンスの問題を知りたいです。メモリと速度の問題について聞いたことがあります。
具体的には、SHA256 ハッシュ DLL を実装し、SQL Server 2008 で sproc として実行したいと考えています。
または、単純に .Net アプリからハッシュを実行し、その文字列を sprocs に渡すこともできます。
長所短所?
ありがとう。
SQL Server 2008 でマネージ コードを実行する際のパフォーマンスの問題を知りたいです。メモリと速度の問題について聞いたことがあります。
具体的には、SHA256 ハッシュ DLL を実装し、SQL Server 2008 で sproc として実行したいと考えています。
または、単純に .Net アプリからハッシュを実行し、その文字列を sprocs に渡すこともできます。
長所短所?
ありがとう。
SQLCLR は非常に高速です。T-SQL 内で CLR コードを実行する明確な必要性がある場合に使用します。たとえば、シグネチャを使用して SQLCLR 関数を作成するとします。
SqlString Hash(SqlString input)
そして、すべてを正常に実行することができます。次のクエリを実行できます。
IF EXISTS(SELECT * FROM Users WHERE HashedPassword = dbo.Hash(@userPassword) AND UserName = @userName)
BEGIN
SELECT 'You''re alright, Jack.';
END
ELSE
BEGIN
SELECT 'Bogus.';
END
アプリで仮のパスワード フィールドをハッシュ化できる場合は、アプリ内でハッシュ化し、ハッシュ化された値を SQL Server に渡して、次のようなクエリを実行することをお勧めします。
SELECT *
FROM User
WHERE UserName = @userName AND HashedPassword = @hashedPassword
これは、いくつかの理由で優れています。