۵ نکته برای SQL

ترجمه و تالیف : ارسطو عباسی
تاریخ انتشار : 13 خرداد 98
خواندن در 1 دقیقه
دسته بندی ها : برنامه نویسی

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

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

  • بجای استفاده از دو کلمه یا بیشتر، از یک کلمه برای نام‌گذاری جداول استفاده کنید. اگر مجبور به استفاده از کلمات دیگری بودید بجای استفاده از فضای خالی از آندرسکور (ـ) استفاده کنید.
  • استفاده کردن از علامت نقطه (.) در شئ‌ها باعث سردرگمی در بین نام طرح‌ و بانک اطلاعاتی می‌شود. اگر هم از فضای خالی یا 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 ...

منبع

گردآوری و تالیف ارسطو عباسی
آفلاین
user-avatar

من ارسطو‌ام :) کافی نیست؟! :)

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید