۵ نکته برای SQL

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 02 مهر 1397
دسته بندی ها : برنامه نویسی

در این مطلب می‌توانید نکاتی را برای بهبود کارایی کوئری‌ها و ساده‌سازی طرح‌ها مشاهده کنید.

 ۱. نام ستون‌ها و جداول را ساده انتخاب کنید

  • بجای استفاده از دو کلمه یا بیشتر، از یک کلمه برای نام‌گذاری جداول استفاده کنید. اگر مجبور به استفاده از کلمات دیگری بودید بجای استفاده از فضای خالی از آندرسکور (ـ) استفاده کنید.
  • استفاده کردن از علامت نقطه (.) در شئ‌ها باعث سردرگمی در بین نام طرح‌ و بانک اطلاعاتی می‌شود. اگر هم از فضای خالی یا space استفاده کنید نیاز است که برای اجرای کوئری‌ها از کوتیشن استفاده نمایید.
  • نام جداول و ستون‌ها را به صورت همخوان با استفاده از حروف کوچک بنویسید. اینگونه یکی دیگر از قضایا که باعث ایجاد پیچیدگی –منظور case sensitive بودن- می‌شود را می‌توانید حل کنید.

۲. کار با تاریخ در SQL

  • Date را به datetimes تبدیل کنید، اینگونه کارایی بالاتری خواهید داشت.
  • کار کردن با تاریخ‌هایی که در قالب رشته ذخیره شده‌اند بسیار سخت است. تقریبا فیلتر کردن در این حالت غیر ممکن یا بسیار سخت می‌شود. همیشه مطمئن باشید که از فیلدهای درستی استفاده می‌کنید.
  • از UTC برای منطقه زمانی‌تان استفاده کنید. اگر از یک ترکیب غیر UTC استفاده کنید درک داده‌ها برای‌تان بسیار سخت خواهد شد.

۳. ترتیب اجرا را بدانید

  • درک ترتیب کوئری‌ها به شما این کمک را می‌کند تا بتوانید بهتر اجرای یا شکست کوئری‌ها در اجرا را درک کنید. 
FROM – Includes JOINs so consider using a CTE or subquery to do filtering first. 
WHERE - To limit the joined dataset. 
GROUP BY – Collapses fields down with aggregate functions (COUNT, MAX, SUM, AVG) 
HAVING - Performs the same function as the WHERE clause with aggregate values.
SELECT - Specifies values and aggregations remaining in the set after grouping.
ORDER BY – Returns the table sorted by a column or multiple columns. 
LIMIT – Specifies how many rows to be returned to avoid returning too much data. 

۴. محدودیت‌های NULL

  • منظور از Null این است که مقدار شناخته شده نیست، هیچوقت آن را با صفر یا مقدار خالی اشتباه نگیرید. وجود مقدار شناخته نشده باعث می‌شود که مقایسه کردن آن تقریبا غیر ممکن شود. شما چگونه می‌خواهید NULL را با NULL دیگری مقایسه کنید. همواره بهتر است که مقدار Null را بهتر درک کنید و محدودیت‌های آن را بهتر شناسایی نمایید. در این لینک می‌توانید اطلاعاتی جامعی راجع به Null پیدا کنید. 

۵. شیوه ایجاد جدول را بدانید

وقتی که از یک جدول دیگر، جدولی را می‌سازید، قبل از وارد کردن داده به آن‌ها از Select Top 0 استفاده کنید، اینگونه ساختار جدول‌تان ایجاد می‌شود. 

برای انجام چنین کاری باید یک قدم بیشتر را انجام دهید اما زمان توسعه را بهینه‌تر می‌کند. 

insert into <table name2>

select [ID] ,

[CreatedDate] ,

[RegionName] ,

[SalesPerson]

from <table name1 >

اگر در حال بروزرسانی یک جدول همراه با داده‌های جدید بودید از دستور TRUNCATE استفاده کنید. این گزینه تمام ردیف‌های جدول را بدون ایجاد تغییر در قالب و سربرگ‌های آن حذف می‌کند.

truncate table <table name1> -- deletes the contents of the table

insert into <table name1>

select

[ID] ,

[CreatedDate] ,

[RegionName] ,

[SalesPerson]

from ...

منبع

مقالات پیشنهادی

5 راهکار برای افزایش سرعت سایت

با سلام خدمت دوستان ، یکی از عوامل مهم و کاربردی در موفق بودن یک وب سایت سرعت لود خوب میتونه باشه ، امروز میخوام 5 ترفند برای بالابردن سایت رو به شما...

6 ویژگی فوق العاده لاراول 5.5 که باید در پروژه بعدی استفاده کنید

لاراول 5.5 به تازگی منتشر شده, بنابراین اگر شما میخواهید برای پروژه بعدی تون برنامه ریزی کنید, باید مزایای فوق العاده این نسخه رو بدونید و ازشون تا حد...

5 نکته امنیتی مهم برای یک برنامه لاراولی

یک تزریق SQL وقتی خطرناک میشه که یک اپلیکیشن مقادیر ورودی خودسرانه و فیلترنشده رو وارد یک کوئری SQL می کنه. این مقادیر ورودی میتونه از کوکی ها, مقادیر...

۵ نکته مهم برای وبسایت‌هایی با تصاویر زیاد

به عنوان یک طراح وب، استفاده از تصاویر را در وبسایت‌ها بسیار دوست دارم، به این دلیل که تصاویر در خاطره می‌مانند و یک کانال مستقیم برای ارتباط برقرار ک...