reza_edu
دوشنبه 19 اردیبهشت 1390, 23:44 عصر
سلام من دو دستور سلکت نوشتم تنها فرق این دو دستور در این دو قسمت نوشته شده در زیر هست :
دستور اول :
تو این دستور از شرط استفاده شده
CASE ISNULL(dbo.View_FaPersonApplicant.DateRegister,0) WHEN ISNULL(NULL,0) THEN NULL ELSE dbo.ToPersianDate(dbo.View_FaPersonApplicant.DateR egister) END AS DateRegister,
CASE ISNULL(dbo.View_FaPersonApplicant.DateLastEdit,0) WHEN ISNULL(NULL,0) THEN NULL ELSE dbo.ToPersianDate(dbo.View_FaPersonApplicant.DateL astEdit) END AS DateLastEdit,
CASE ISNULL(dbo.View_FaPersonApplicant.ManualRegisterDa te,0) WHEN ISNULL(NULL,0) THEN NULL ELSE dbo.ToPersianDate(dbo.View_FaPersonApplicant.Manua lRegisterDate) END AS ManualRegisterDate,
ونتیجه بدست اومده تو Execution Plan تو عکس زیر نشون داده شده
69765
دستور دوم:
تو این دستور فقط بجای شرط از تابع استفاده شده
dbo.ConvertPersianDate(dbo.View_FaPersonApplicant. DateLastEdit) AS DateLastEdit_Fa,
dbo.ConvertPersianDate(dbo.View_FaPersonApplicant. ManualRegisterDate) AS ManualRegisterDate_Fa
Execution Plan تو عکس زیر نشون داده شده
69766
حالا سوال من اینه که کدوم روش بهتر هست من زیاد از Execution Plan سر در نمیارم :متفکر: کدومش رو استفاده کنم. آیا این موارد تاثیر زیادی هم داره ؟
دستور اول :
تو این دستور از شرط استفاده شده
CASE ISNULL(dbo.View_FaPersonApplicant.DateRegister,0) WHEN ISNULL(NULL,0) THEN NULL ELSE dbo.ToPersianDate(dbo.View_FaPersonApplicant.DateR egister) END AS DateRegister,
CASE ISNULL(dbo.View_FaPersonApplicant.DateLastEdit,0) WHEN ISNULL(NULL,0) THEN NULL ELSE dbo.ToPersianDate(dbo.View_FaPersonApplicant.DateL astEdit) END AS DateLastEdit,
CASE ISNULL(dbo.View_FaPersonApplicant.ManualRegisterDa te,0) WHEN ISNULL(NULL,0) THEN NULL ELSE dbo.ToPersianDate(dbo.View_FaPersonApplicant.Manua lRegisterDate) END AS ManualRegisterDate,
ونتیجه بدست اومده تو Execution Plan تو عکس زیر نشون داده شده
69765
دستور دوم:
تو این دستور فقط بجای شرط از تابع استفاده شده
dbo.ConvertPersianDate(dbo.View_FaPersonApplicant. DateLastEdit) AS DateLastEdit_Fa,
dbo.ConvertPersianDate(dbo.View_FaPersonApplicant. ManualRegisterDate) AS ManualRegisterDate_Fa
Execution Plan تو عکس زیر نشون داده شده
69766
حالا سوال من اینه که کدوم روش بهتر هست من زیاد از Execution Plan سر در نمیارم :متفکر: کدومش رو استفاده کنم. آیا این موارد تاثیر زیادی هم داره ؟