სხვაობა ვარდნასა და შეკვეცას შორის

სხვაობა ვარდნასა და შეკვეცას შორის
სხვაობა ვარდნასა და შეკვეცას შორის

ვიდეო: სხვაობა ვარდნასა და შეკვეცას შორის

ვიდეო: სხვაობა ვარდნასა და შეკვეცას შორის
ვიდეო: UK's £18 bn Mega Project: Will the North be Betrayed Again? 2024, ნოემბერი
Anonim

ჩავარდნა vs Truncate

Drop და Truncate არის ორი SQL (Structured Query Language) განცხადება, რომელიც გამოიყენება მონაცემთა ბაზის მართვის სისტემებში, სადაც ჩვენ გვინდა მონაცემთა ჩანაწერების ამოღება მონაცემთა ბაზიდან. ორივე Drop და Truncate განცხადებები წაშლის მთელ მონაცემებს ცხრილში და მასთან დაკავშირებულ SQL განცხადებას. წაშლის ოპერაცია ამ შემთხვევაში არ არის ეფექტური, რადგან ის იყენებს უფრო მეტ ადგილს, ვიდრე Drop და Truncate.

იმ შემთხვევაში, თუ გვსურს მონაცემთა ბაზის ცხრილის მთლიანად გაუქმება მისი ყველა მონაცემით, SQL საშუალებას გვაძლევს მარტივად შევასრულოთ ეს Drop განაცხადის გამოყენებით. Drop ბრძანება არის DDL (Data Definition Language) ბრძანება და მისი გამოყენება შესაძლებელია არსებული მონაცემთა ბაზის, ცხრილის, ინდექსის ან ხედის გასანადგურებლად.ის წაშლის ცხრილის მთელ ინფორმაციას, ისევე როგორც ცხრილის სტრუქტურას მონაცემთა ბაზიდან. ასევე, ჩვენ შეიძლება გვსურს, მოვიშოროთ ცხრილის ყველა მონაცემი უბრალოდ, მაგრამ ცხრილის გარეშე, და შეგვიძლია გამოვიყენოთ Truncate განაცხადი SQL-ში ასეთ სცენარში. Truncate ასევე არის DDL ბრძანება და ის გამორიცხავს ცხრილის ყველა მწკრივს, მაგრამ ინარჩუნებს ცხრილის განმარტებას იგივე მომავალი გამოყენებისთვის.

ჩაგდება ბრძანება

როგორც უკვე აღვნიშნეთ, Drop ბრძანება შლის ცხრილის განმარტებას და მის ყველა მონაცემს, მთლიანობის შეზღუდვებს, ინდექსებს, ტრიგერებს და წვდომის პრივილეგიებს, რომელიც შეიქმნა ამ კონკრეტულ ცხრილში. ასე რომ, ის მთლიანად ამოაგდებს არსებულ ობიექტს მონაცემთა ბაზიდან და სხვა ცხრილებთან ურთიერთობა ასევე აღარ იქნება მოქმედი ბრძანების შესრულების შემდეგ. ასევე ის აშორებს ცხრილის შესახებ ყველა ინფორმაციას მონაცემთა ლექსიკონიდან. ქვემოთ მოცემულია ტიპიური სინტაქსი მაგიდაზე Drop განაცხადის გამოყენებისთვის.

ჩაგდება მაგიდა

ჩვენ უბრალოდ უნდა ჩავანაცვლოთ ცხრილის სახელი, რომელიც გვინდა ამოიღოთ მონაცემთა ბაზიდან ზემოთ ჩამოთვლილი ბრძანების მაგალითში.

მნიშვნელოვანია აღვნიშნო, რომ Drop განაცხადი არ შეიძლება გამოყენებულ იქნას ცხრილის წასაშლელად, რომელიც უკვე მითითებულია უცხოური გასაღების შეზღუდვით. ამ შემთხვევაში, უცხო გასაღების მითითების შეზღუდვა, ან ეს კონკრეტული ცხრილი ჯერ უნდა ამოღებულ იქნეს. ასევე, Drop განაცხადის გამოყენება შეუძლებელია მონაცემთა ბაზის სისტემის ცხრილებზე.

რადგან Drop ბრძანება არის ავტომატური ჩადენის განცხადება, ოპერაციის გაშვების შემდეგ უკან დაბრუნება შეუძლებელია და ტრიგერები არ იქნება გაშვებული. როდესაც ცხრილი იშლება, ცხრილის ყველა მითითება არ იქნება მართებული, და ასე რომ, თუ ჩვენ გვინდა ისევ გამოვიყენოთ ცხრილი, ის ხელახლა უნდა შეიქმნას მთლიანობის შეზღუდვით და წვდომის პრივილეგიებით. ყველა კავშირი სხვა ცხრილებთან, ასევე უნდა განთავსდეს ხელახლა.

შეკვეცა ბრძანება

Truncate ბრძანება არის DDL ბრძანება და ის ხსნის ცხრილის ყველა მწკრივს მომხმარებლის მიერ მითითებული პირობების გარეშე და ათავისუფლებს ცხრილის მიერ გამოყენებულ სივრცეს, მაგრამ ცხრილის სტრუქტურა მისი სვეტებით, ინდექსებით და შეზღუდვებით იგივე რჩება. Truncate აღმოფხვრის მონაცემებს ცხრილიდან მონაცემთა გვერდების გადანაწილებით, რომლებიც გამოიყენება ცხრილის მონაცემების შესანახად და მხოლოდ ეს გვერდის განაწილებები ინახება ტრანზაქციის ჟურნალში. ასე რომ, ის იყენებს ნაკლებ ტრანზაქციის ჟურნალის რესურსებს და სისტემის რესურსებს სხვა დაკავშირებულ SQL ბრძანებებთან შედარებით, როგორიცაა Delete. ასე რომ, Truncate არის ცოტა უფრო სწრაფი განცხადება, ვიდრე სხვები. ქვემოთ მოცემულია Truncate ბრძანების ტიპიური სინტაქსი.

TRUNCATE TABLE

ჩვენ უნდა ჩავანაცვლოთ ცხრილის სახელი, საიდანაც გვინდა მთლიანი მონაცემების ამოღება, ზემოთ მოცემულ სინტაქსში.

Truncate არ შეიძლება გამოყენებულ იქნას ცხრილზე, რომელიც მითითებულია უცხო გასაღების შეზღუდვით. ის ავტომატურად იყენებს commit-ს მოქმედებამდე და მეორე commit-ს შემდეგ, ასე რომ ტრანზაქციის უკან დაბრუნება შეუძლებელია და ტრიგერები არ ამოქმედდება. თუ ცხრილის ხელახლა გამოყენება გვსურს, მხოლოდ მონაცემთა ბაზაში არსებული ცხრილის განმარტებაზე წვდომა გვჭირდება.

რა განსხვავებაა Drop-სა და Truncate-ს შორის?

Drop და Truncate ბრძანებები არის DDL ბრძანებები და ასევე ავტომატური ჩაბარების განცხადებები, ამიტომ ამ ბრძანებების გამოყენებით შესრულებული ტრანზაქციების უკან დაბრუნება შეუძლებელია.

პირველადი განსხვავება Drop-სა და Truncate-ს შორის არის ის, რომ Drop ბრძანება შლის არა მხოლოდ ცხრილის ყველა მონაცემს, არამედ ის სამუდამოდ შლის ცხრილის სტრუქტურას მონაცემთა ბაზიდან ყველა მითითებით, ხოლო Truncate ბრძანება შლის მხოლოდ ყველაფერს. ცხრილის რიგები და ინარჩუნებს ცხრილის სტრუქტურას და მის მითითებებს.

თუ ცხრილი ამოიშლება, სხვა ცხრილებთან ურთიერთობა აღარ იქნება მოქმედი და მთლიანობის შეზღუდვები და წვდომის პრივილეგიები ასევე წაიშლება. ასე რომ, თუ ცხრილის ხელახლა გამოყენებაა საჭირო, ის უნდა აღდგეს ურთიერთობებით, მთლიანობის შეზღუდვებით და ასევე წვდომის პრივილეგიებით. მაგრამ თუ ცხრილი შეკვეცილია, ცხრილის სტრუქტურა და მისი შეზღუდვები რჩება შემდგომი გამოყენებისთვის და, შესაბამისად, ნებისმიერი ზემოაღნიშნული რეკრეაცია არ არის საჭირო ხელახლა გამოყენებისთვის.

როდესაც ეს ბრძანებები გამოიყენება, ფრთხილად უნდა ვიყოთ მათი გამოყენებისას. ასევე, ჩვენ უკეთ უნდა გვესმოდეს ამ ბრძანებების ბუნება, როგორ მუშაობენ ისინი და ასევე ფრთხილად დაგეგმვა მათ გამოყენებამდე, რათა თავიდან ავიცილოთ ძირითადი ნივთების გამოტოვება.და ბოლოს, ორივე ეს ბრძანება შეიძლება გამოყენებულ იქნას მონაცემთა ბაზების სწრაფად და მარტივად გასასუფთავებლად, რაც ნაკლებ რესურსს მოიხმარს.

გირჩევთ: