اشتراک‌ها
تفاوت دستور Delete و Truncate
تفاوت Delete  و  Truncate :
دستور  Delete  جز دستورات  DML  هست یا بعبارتی  Data Manipulation Language میباشد که برای اعمالی چون واکشی ، ذخیره سازی ، تغییرات و حذف مورد استفاده قرار میگیرند
دستور  Truncate  جز دستورات  DDL  هست یا بعبارتی  Data Definition Language می‌باشد و برای ایجاد ,  تغییرات  در ساختار آبجکت‌ها ( مثل جدول ، ایندکس و ..) مورد استفاده قرار میگیرد
دستور Delete  در زمان اجرا قفل گذاری را در سطح ردیف انجام میدهد (row lock) 
دستور Truncate  قفل گذاری را در سطح جدول در نظر میگیرد (table lock)
دستور Delete میتواند شامل فیلتر (where) برای حذف ردیف‌های خاصی باشد
دستور  Truncate  نمیتواند شامل فیلتر (where) باشد و روی حذف تمام جدول عمل میکند
نکته :
با استفاده از دستور Delete  میتوان بخشی از رکوردهای مشخص را حذف نمود ولی با دستور  Truncate  تمام رکوردها ی جدول حذف می‌شوند  (دستور Truncate نتیجه اجرای دو دستور  Drop  و  Create  می‌باشد)
دستور Delete  نسبت به دستور Truncate  کندتر عمل میکند زیرا تمام تغییرات در Log  ذخیره میکند در نتیجه قابلیت  Rollback  ممکن می‌باشد
دستور Truncate  نسبت به دستور Delete سریعتر عمل میکند زیرا به ازای  اجرای آن در فایل  Log  چیزی ثبت نمیشود در نتیجه قابلیت  Rollback  را ندارد
همراه دستور Delete  قابلیت اجرای  تریگر را داریم
در اجرای دستور Truncate  قابلیت اجرای تریگر را نداریم
نکته:
اگر  از Transaction استفاده کنیم هر  دو دستور  Delete  و  Truncate  قابلیت rollback  شدن را دارا هستند  
تفاوت دستور  Delete  و  Truncate
اشتراک‌ها
استفاده از default و check در SQL

SQL is unusual is that data is not passively stored. Instead you use declarative SQL to specify the rules that underlie the data and its integrity. When used properly, constraints can avoid having to provide a lot of logic elsewhere. CHECK() and DEFAULT can do a lot to ensure that your data is correct 

استفاده از default و check در SQL
اشتراک‌ها
آشنایی با جدول کاری Work Table در MSSQL

در این نوشتار کوتاه با حدول کاری آشنا شده و برای بهینه شدن کوئری هایتان باید میزان استفاده از این جدول را تا حد ممکن کاهش دهید به عنوان مثال استفاده از window function‌ها یک جدول کاری تشکیل میدهد ولی اگر با window frame‌ها ترکیب شوند این جدول کاری حذف خواهد شد.

آشنایی با جدول کاری Work Table در MSSQL
اشتراک‌ها
رابط بانک اطلاعاتی HeidiSQL

به کمک این نرم افزار امکان دسترسی به بانکهای اطلاعاتی mysql، Sqlserver و postgresql را فراهم میکند. کاربری ساده و امکانات عالی این رابط کمک میکند تا سریعتر و ساده‌تر به بانکهای اطلاعاتی دسترسی داشته باشیم

رابط بانک اطلاعاتی HeidiSQL
اشتراک‌ها
کلید اصلی : AutoNumber vs GUID

هنگام طراحی کلید اصلی یک جدول بهتر است از کدام یک بهره ببریم ؟

1- GUID

2- AutoNumber

کلید اصلی : AutoNumber vs GUID