SQL Server
3.93K subscribers
19 photos
7 videos
36 files
167 links
حمید رضا صادقیان

🔴طراح‌ومشاوربانک های اطلاعاتیSQLSERVER
⚫️مدرس دوره های آموزشیDatabase

ارتباط با من:
@Hamidreza_Sadeghian

گروه تبادل نظر:
https://t.me/+uIc1qhv58gU0NWQ0
Download Telegram
خوب بریم برای یک چالش ذهنی جذاب دیگه.
در روایات آمده :
(( ای کسانی که ایمان آورده اید( منظور کسانی هست که به SQL Server ایمان آوردند) مبادا در نوع کدنویسی به صورت Row Based فکر کنید ، که همانا شما از کافران هستید)) 😉

حالا بریم برای روایت فوق .
بذارید با یک داستان جذاب شروع کنم. در یکی از پروژه هایی که کند بودیم و داشتیم در خصوص سناریوها صحبت می کردیم ، اینجوری پروژه شرح داده شد که ما یک سری محتویات XML در یک جدول داریم و باید اونها رو ردیف به ردیف خونده و یکسری عملیات روش انجام بدیم و درج کنیم. خوب به این عبارت ردیف به ردیف 🤬 🤬
دقت کنید.
بهش گفتم گل من ،‌چرا ردیف به ردیف اخه؟ تو که برای هر ردیف داری یک کاری انجام میدی گفت بله.
گفتم بعد در یک سری جدول هم درج می کنی گفت بله.
گفتم خوب مبارکه. همون اول بسم الله به جای اینکه یک ردیف رو سلکت کنی و بریزی داخل یک Temp ، بیا مثلا ۱۰۰۰ رکورد رو انتخاب کن بریز داخل Temp.
به جای اینکه اون عملیات رو برای یک ردیف انجام بدی بیا مثلا برای ۱۰۰۰ تا انجام بده چی میشه؟ گفت اخه من میخوام این عملیات روی تک تک رکوردها انجام بشه.
گفتم ببین دیگه اومدی و نسازیا. آقا به توچه SQL Server چطوری میاد اون کارو برای ۱۰۰۰ تا انجام میده.
تو بهش بگو برادر من عزیز من ، من ۱۰۰۰ تا ردیف XML دارم و قراره این اتفاقات روش بیافته. حالا دیگه این عزیزدل چطوری میره و برای تک تک اون ردیفها اینکارو انجام میده به من و توچه ربطی داره؟ برو به زندگیت برس اینقدر دخالت نکن. ول کن اخه. 😁
و همین امر سبب میشه یک فرآیندی که ساعتها زمان میبره به کمتر از چند دقیقه کاهش پیدا کنه. مورد داشتیم چنین عملیاتی ۷۲ ساعت برای پردازش ۳۰۰ هزار رکورد زمان میگرفت و با چنین تغییر تفکری زمانش به ۲ دقیقه کاهش پیدا کرد.

حالا بازم برید تفکر Set Based رو از داخل کدهاتون حذف کنید. بازهم هی بیاید بگید باید ردیف به ردیف 🤬 🤬 اینکارو انجام بدیم. باز هم برید داخل کدهاتون دوجین Cursor , While بذارید.

ایمان بیاورید و دست از اعتقادات خرافه بردارید.

اگر خواستید ما هم میتوانیم در ایمان آوردن شما بهتون کمک کنیم. 😅

اینم راه ارتباطی دعانویسمون :😂
@Hamidreza_Sadeghian


#set_Based
#Row_Based
#TSQL
👌23👍10😍3🔥2👏2