قالب وردپرس قالب وردپرس آموزش وردپرس قالب فروشگاهی وردپرس وردپرس
خانه / مقالات / SQL / بررسی TVP از دیدگاه پرفورمنس ( قسمت دوم )

بررسی TVP از دیدگاه پرفورمنس ( قسمت دوم )

بررسی TVP از دیدگاه پرفورمنس ( قسمت دوم )Reviewed by سالار on Oct 31Rating: 5.0

سلام به همه ی همراهان

sql-tvp-iriranweb

خلاصه ای از قسمت قبل : 

در قسمت قبل گفتیم دیتابیس ناچار است برای هر سطر، دستور Insert را استفاده نماید. فرایندی که .NET Framework هنگام کار با TVP انجام میدهد دو مرحله دارد.

ابتدا سمت دیتابیس بصورت اتوماتیک متغیری از نوع جدول تعریف شده و سطرهایی که از کلاینت میرسند در آن Insert میگردند. سپس این متغیر مانند پارمتر به پروسیجر ارسال میشود

این جلسه میخواهیم روش دیگر را بررسی کنیم

ادامه از قسمت قبل…

از نظر خوانندگان محترم گذشت که انجام Insert از طریق TVP منجر به تولید کد بلند بالایی میگردد و کامپایل آن زمانگیر خواهد بود. اگرچه کار با TVP ارسال اطلاعات از کلاینت به SQL Server را سهولت میبخشد اما در تعداد سطرهای بالا، مدت زمان کامپایل به معضل تبدیل میشود.
یکی از روشهای جایگزین و البته سریع، استفاده از XML است. کلاینت میتواند داده های خود را به XML تبدیل نموده و در سمت دیتابیس به کمک XQuery آنها را مجددا به شکل جدول (Set) بازیابی کند و سپس عمل Insert انجام پذیرد. به لطف پشتیبانی خوب Database Engine از امکانات XQuery سرعت تبدیل نمودن XML بسیار مطلوب است. مثالی که در پست قبل اشاره شد ۲۰ ثانیه زمان صرف مینمود ولی با کمک XML به ۲ ثانیه کاهش میابد.

در مثال زیر دو رکورد نمونه به شکل XML تعریف و سپس تبدیل به جدول شده است:

DECLARE @MyData XML
SET @MyData=’
<Name>
<FirstName>Steve</FirstName>
<LastName>Anderson</LastName>
</Name>
<Name>
<FirstName>Peter</FirstName>
<LastName>Jones</LastName>
</Name>’select
Col1.value(‘FirstName[1]’,’nvarchar(50)’),
Col1.value(‘LastName[1]’,’nvarchar(50)’)
from @MyData.nodes(‘/Name’) t1(Col1)

اکنون میتوان با اندکی تغییر، حاصل Select را به جدول مورد نظر Insert نمود. اگر درک عملکرد قسمت Select برای شما واضح نیست، میتوانید در خصوص زبان XQuery مطالعه نمایید:
شاد باشید و خوش فکر…
امین ثباتی

مطلب پیشنهادی

طراحی Loading بدون استفاده از تصویر

طراحی Loading بدون استفاده از تصویرReviewed by سالار on Aug 9Rating: 5.0سلام به همه ی …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

 
در خبرنامه ما عضو شوید

در خبرنامه ما عضو شوید

در خبرنامه ما عضو شوید تا بهترین پست هفته مارو در ایمیل خودتون دریافت کنید :)

تبریک ! شما عضو خبرنامه ما شدید