راهنمای سبک – قسمت اول

قبل از این که در مورد بهسنه سازی کوئری های SQL در اوراکل صحبت کنیم می خواهیم مدتی در مورد سبک های best practice صحبت کنیم. این توصیه ها هیچ پیشرفتی در بهینه سازی کوئری های شما در SQL ندارد اما باعت افزایش بهره وری مخصوصا زمانی که می خواهید کدتان را اشکال زدایی debugging کنید دارد. به جز آن اعتبار شما به عنوان یک برنامه نویس ممکن است شما را به چالش بکشد.

قراردادها – Conventions

به قوانین موجود در مورد سبک ها پایبند باشید. نام گذاری آبجکت ها و comment و مستند سازی اگر دارند بایستی پایبند باشید. زمانی که می خواهید روی یک شی نام قرار دهید بایستی از قوانین نام گذاری که در سازمان شما تدوین شده کامل پیروی کنید. به عنوان مثال نام آبجکت را میتوان بصورت زیر خط نام گذاری کرد (First_Name) یا می توان بصورت به هم چسبیده (FirstName) باشد. اگر در سازمان قوانین در نام گذاری تعریف شده است بایستی از قوانین پیروی کنید.

یکی از قوانین SQL Tuning استفاده از کلمه کلیدی JOIN برای ارتباط جداول در FROM به جای استفاده از ، (Comma کاما) که کالا منسوخ شده و (+) برای outer join. که استفاده از این موارد کاملا منسوخ شده می باشد و بهتر است استفاده از آن را ترک کنید و برای ارتباط جداول از JOIN استفاده کنید.

نوشتن با حروف بزرگ – Capitalization

کلید واژها ، کلمات کلیدی و namespace و آبجکت های رزرو شده (tables,columns,indexes,…) در اوراکل که تماما case-insensitive به بزرگی و کوچکی حروف حساس نیستند مگر اینکه بخوای کلمه مورد نظر را در double quote (” “) محصور کنید.

مانند : SELECT 42 AS “THE AnsweR” FROM DUAL

یکی از قوانین SQL Tuning این است که پیشنهاد نمی شود نام آبجکت ها طوری ایجاد کنید که به بزرگی و کوچکی حروف حساس باشد و یا بین نام آبجکت فاصله space باشد. پیشنهاد می شود که نام آبجکت نامی باشد که معنی و مفهوم داشته باشد و برای انسان قابل درک و فهم باشد (human readable) باشد .

لازم به ذکر است داده های موجود در دیتابیس ها و مقادیر آبجکت به بزرگی و کوچکی حساس است. case-sensitive می باشد. همانطور که ملاحظه می کنید خروجی دو کوئری زیر کاملا متفاوت است.

Query 1 : SELECT last_name FROM people WHERE last_name = ‘Jones

Query 2 : SELECT last_name FROM people WHERE last_name = ‘jones

مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *