Forwarded from Deleted Account
Backup Internals.mp4
96.3 MB
سلام و عرض ادب خدمت دوستان گرامی
شب بر همگان خوش باشه
یکی از مواردی که در اکثر مشاوره ها در شرکتها باهاش برخورد کردم نحوه نوشتن کدها در زبان شیرین T-SQL بوده .
دوستانی که دارن کد T-SQL می نویسند باید به این نکته توجه کنند که زبان T-SQL یک زبان توصیفی یا Declarative هست.
زبانهای برنامه نویسی مثل C# یا Delphi اینها Procedural هستند.
شما نباید با همون منطقی که در زبانی مثل سی شارپ تفکر می کنید و کد می نویسید ،در زبان T-SQL هم کد بنویسید.
بارها دیدم که مشکلات خیلی راحت حل می شدن ولی چون تفکر Procedural بوده یا حلقه while در کدها تعریف شده یا از جداول Temp به شدت استفاده شده یا Cursor تعریف شده که گاها با یک Select یا update یا Insert به راحتی حل شده و Performance اون چند ده برابر نیز شده است.
زبان T-SQL از زبان SQL مشتق شده که یک زبان با استاندارد Ansi هست. این زبان از Relational Model اقتباس شده که خود Relational Model از ترکیب Set Theory و Predicate Logic ایجاد شده است.
پس وقتی که شما دارید کدنویسی می کنید باید به صورت Set Based به داده ها نگاه کنید نه یک رکورد از یک جدول.
شما نباید هیچ وقت هیچ وقت هیچ وقت در کد نویسی T-SQL برای SQL Server الگوریتم مشخص کنید. وقتی که در خیلی از موارد ترکیبی از Cursor, While ,Temp Table ها مشاهده میشه ، کاملا مشخص هست که برنامه نویس داره الگوریتم فراخوانی اطلاعات هم به SQL Server تحمیل میکنه که کاری کاملا اشتباهه.
شما در SQL Server باید به این طریق کد بنویسید که نیازتون رو بیان کنید. همین
اینکه چطوری این داده ها فراخوانی می شوند رو به Engine SQL Server بسپارید . بهتون قول میدم به بهترین نحو و با بهترین الگوریتم ها ،اطلاعات موردنظر شمارو فراخوانی خواهد کرد و به شما نشان خواهد داد.
اگر در این خصوص سوالی داشتید در خدمتتون هستم.
ارادتمند.
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
#Set_Based_Thinking #T_SQL #SQL_Server #SQLServer #Hamidreza_Sadeghian #Declarative #SQL
شب بر همگان خوش باشه
یکی از مواردی که در اکثر مشاوره ها در شرکتها باهاش برخورد کردم نحوه نوشتن کدها در زبان شیرین T-SQL بوده .
دوستانی که دارن کد T-SQL می نویسند باید به این نکته توجه کنند که زبان T-SQL یک زبان توصیفی یا Declarative هست.
زبانهای برنامه نویسی مثل C# یا Delphi اینها Procedural هستند.
شما نباید با همون منطقی که در زبانی مثل سی شارپ تفکر می کنید و کد می نویسید ،در زبان T-SQL هم کد بنویسید.
بارها دیدم که مشکلات خیلی راحت حل می شدن ولی چون تفکر Procedural بوده یا حلقه while در کدها تعریف شده یا از جداول Temp به شدت استفاده شده یا Cursor تعریف شده که گاها با یک Select یا update یا Insert به راحتی حل شده و Performance اون چند ده برابر نیز شده است.
زبان T-SQL از زبان SQL مشتق شده که یک زبان با استاندارد Ansi هست. این زبان از Relational Model اقتباس شده که خود Relational Model از ترکیب Set Theory و Predicate Logic ایجاد شده است.
پس وقتی که شما دارید کدنویسی می کنید باید به صورت Set Based به داده ها نگاه کنید نه یک رکورد از یک جدول.
شما نباید هیچ وقت هیچ وقت هیچ وقت در کد نویسی T-SQL برای SQL Server الگوریتم مشخص کنید. وقتی که در خیلی از موارد ترکیبی از Cursor, While ,Temp Table ها مشاهده میشه ، کاملا مشخص هست که برنامه نویس داره الگوریتم فراخوانی اطلاعات هم به SQL Server تحمیل میکنه که کاری کاملا اشتباهه.
شما در SQL Server باید به این طریق کد بنویسید که نیازتون رو بیان کنید. همین
اینکه چطوری این داده ها فراخوانی می شوند رو به Engine SQL Server بسپارید . بهتون قول میدم به بهترین نحو و با بهترین الگوریتم ها ،اطلاعات موردنظر شمارو فراخوانی خواهد کرد و به شما نشان خواهد داد.
اگر در این خصوص سوالی داشتید در خدمتتون هستم.
ارادتمند.
حمیدرضا صادقیان
ID:@Hamidreza_Sadeghian
Channel :@SQL_Server
#Set_Based_Thinking #T_SQL #SQL_Server #SQLServer #Hamidreza_Sadeghian #Declarative #SQL