Առաջարկություններ. Երբ ընթացակարգը կազմվում է առաջին անգամ կամ վերակոմպիլացվում է, ընթացակարգի հարցումների պլանը օպտիմիզացված է տվյալների բազայի և դրա օբյեկտների ներկայիս վիճակի համար: … Պրոցեդուրային վերակոմպիլյացիայի ստիպելու ևս մեկ պատճառ է պրոցեդուրաների կազմման «պարամետրերի հոտառության» վարքագիծը հակազդելու համար::
Պետք է խուսափել պահպանման ընթացակարգերից:
Պահված ընթացակարգերը նպաստում են զարգացման վատ պրակտիկաներին, մասնավորապես պահանջում են, որ դուք խախտեք DRY (Don't Repeat Yourself), քանի որ դուք պետք է մուտքագրեք դաշտերի ցանկը ձեր մեջ: տվյալների բազայի աղյուսակը առնվազն կես տասնյակ անգամ կամ ավելին: Սա մեծ ցավ է, եթե անհրաժեշտ է մեկ սյունակ ավելացնել ձեր տվյալների բազայի աղյուսակում:
Ի՞նչ է Sp_recompile?
sp_recompile փնտրում է օբյեկտ միայն ընթացիկ տվյալների բազայում: Պահված ընթացակարգերի կամ գործարկիչների կողմից օգտագործվող հարցումները և օգտագործողի կողմից սահմանված գործառույթները օպտիմիզացվում են միայն այն ժամանակ, երբ դրանք կազմվում են: … SQL Server-ը ավտոմատ կերպով վերակազմավորում է պահված ընթացակարգերը, գործարկիչները և օգտագործողի կողմից սահմանված գործառույթները, երբ դա ձեռնտու է դա անել:
Ի՞նչ է անում recompile-ը SQL-ում:
RECOMPILE – սահմանում է, որ հարցումը կատարելուց հետո քեշում պահվող նրա հարցման կատարման պլանը հեռացվում է քեշից: Երբ նույն հարցումը նորից կատարվի, քեշում գոյություն ունեցող պլան չի լինի, ուստի հարցումը պետք է նորից կազմվի:
Արդյո՞ք պահպանված ընթացակարգերը արդյունավետ են:
Սա ներառում է այնպիսի բաներ, ինչպիսիք են սպիտակ տարածությունը և մեծատառերի զգայունությունը: Շատ ավելի քիչ հավանական է, որ պահված ընթացակարգի ներսում հարցումը փոխվի՝ համեմատած կոդում ներկառուցված հարցման հետ: … Դրա պատճառով պահպանված պրոցեդուրան կարող է իրականում ավելի արագ գործել, քանի որ այն կարողացել է նորից օգտագործել քեշավորված պլանը: