Ինչու՞ է պետք պահեստավորված ընթացակարգերը վերակոմպիլյացիայի ենթարկել:

Ինչու՞ է պետք պահեստավորված ընթացակարգերը վերակոմպիլյացիայի ենթարկել:
Ինչու՞ է պետք պահեստավորված ընթացակարգերը վերակոմպիլյացիայի ենթարկել:
Anonim

Առաջարկություններ. Երբ ընթացակարգը կազմվում է առաջին անգամ կամ վերակոմպիլացվում է, ընթացակարգի հարցումների պլանը օպտիմիզացված է տվյալների բազայի և դրա օբյեկտների ներկայիս վիճակի համար: … Պրոցեդուրային վերակոմպիլյացիայի ստիպելու ևս մեկ պատճառ է պրոցեդուրաների կազմման «պարամետրերի հոտառության» վարքագիծը հակազդելու համար::

Պետք է խուսափել պահպանման ընթացակարգերից:

Պահված ընթացակարգերը նպաստում են զարգացման վատ պրակտիկաներին, մասնավորապես պահանջում են, որ դուք խախտեք DRY (Don't Repeat Yourself), քանի որ դուք պետք է մուտքագրեք դաշտերի ցանկը ձեր մեջ: տվյալների բազայի աղյուսակը առնվազն կես տասնյակ անգամ կամ ավելին: Սա մեծ ցավ է, եթե անհրաժեշտ է մեկ սյունակ ավելացնել ձեր տվյալների բազայի աղյուսակում:

Ի՞նչ է Sp_recompile?

sp_recompile փնտրում է օբյեկտ միայն ընթացիկ տվյալների բազայում: Պահված ընթացակարգերի կամ գործարկիչների կողմից օգտագործվող հարցումները և օգտագործողի կողմից սահմանված գործառույթները օպտիմիզացվում են միայն այն ժամանակ, երբ դրանք կազմվում են: … SQL Server-ը ավտոմատ կերպով վերակազմավորում է պահված ընթացակարգերը, գործարկիչները և օգտագործողի կողմից սահմանված գործառույթները, երբ դա ձեռնտու է դա անել:

Ի՞նչ է անում recompile-ը SQL-ում:

RECOMPILE – սահմանում է, որ հարցումը կատարելուց հետո քեշում պահվող նրա հարցման կատարման պլանը հեռացվում է քեշից: Երբ նույն հարցումը նորից կատարվի, քեշում գոյություն ունեցող պլան չի լինի, ուստի հարցումը պետք է նորից կազմվի:

Արդյո՞ք պահպանված ընթացակարգերը արդյունավետ են:

Սա ներառում է այնպիսի բաներ, ինչպիսիք են սպիտակ տարածությունը և մեծատառերի զգայունությունը: Շատ ավելի քիչ հավանական է, որ պահված ընթացակարգի ներսում հարցումը փոխվի՝ համեմատած կոդում ներկառուցված հարցման հետ: … Դրա պատճառով պահպանված պրոցեդուրան կարող է իրականում ավելի արագ գործել, քանի որ այն կարողացել է նորից օգտագործել քեշավորված պլանը:

Խորհուրդ ենք տալիս: