Razlika između ispuštanja i skraćenja

Razlika između ispuštanja i skraćenja
Razlika između ispuštanja i skraćenja

Video: Razlika između ispuštanja i skraćenja

Video: Razlika između ispuštanja i skraćenja
Video: Authentication Vs Authorization in plain English - Security - Session 1 2024, Juli
Anonim

Drop vs Truncate

Drop i Truncate su dva SQL (Structured Query Language) izraza koji se koriste u sistemima za upravljanje bazama podataka, gdje želimo ukloniti zapise podataka iz baze podataka. Izrazi Drop i Truncate uklanjaju cijele podatke u tablici i povezani SQL izraz. Operacija brisanja nije efikasna u ovom slučaju jer koristi više prostora za pohranu nego Ispusti i skrati.

U slučaju, ako želimo da odbacimo tabelu u bazi podataka zajedno sa svim njenim podacima, SQL nam omogućava da to lako izvedemo koristeći Drop naredbu. Naredba Drop je DDL (Jezik definicije podataka) naredba i može se koristiti za uništavanje postojeće baze podataka, tablice, indeksa ili pogleda. Briše čitave informacije u tabeli, kao i strukturu tabele iz baze podataka. Također, možda ćemo poželjeti da se jednostavno riješimo svih podataka u tablici, ali bez tablice, a u takvom scenariju možemo koristiti izraz Truncate u SQL-u. Skraćivanje je takođe DDL naredba i eliminiše sve redove u tabeli, ali čuva definiciju tabele za buduću upotrebu.

Naredba za ispuštanje

Kao što je ranije pomenuto, naredba Drop uklanja definiciju tabele i sve njene podatke, ograničenja integriteta, indekse, okidače i privilegije pristupa, koje su kreirane na toj konkretnoj tabeli. Dakle, u potpunosti ispušta postojeći objekt iz baze podataka, a odnosi s drugim tabelama također više neće vrijediti nakon izvršenja naredbe. Takođe uklanja sve informacije o tabeli iz rečnika podataka. Slijedi tipična sintaksa za korištenje naredbe Drop na tabeli.

DROP TABLE

Moramo jednostavno zamijeniti ime tabele koju želimo ukloniti iz baze podataka u gornjem primjeru naredbe Drop.

Važno je naglasiti da se naredba Drop ne može koristiti za brisanje tabele koja je već referencirana ograničenjem stranog ključa. U tom slučaju, referentno ograničenje stranog ključa ili tu određenu tabelu treba prvo odbaciti. Također, naredba Drop se ne može primijeniti na sistemske tabele u bazi podataka.

Pošto je naredba Drop izjava za automatsko urezivanje, operacija jednom pokrenuta se ne može vratiti i nijedan okidač neće biti aktiviran. Kada se tabela odbaci, sve reference na tabelu neće biti validne, pa, ako želimo da ponovo koristimo tabelu, mora se ponovo kreirati sa svim ograničenjima integriteta i privilegijama pristupa. Sve relacije prema drugim tabelama, također moraju biti locirane.

Komanda za skraćivanje

Truncate komanda je DDL naredba, i ona uklanja sve redove u tabeli bez ikakvih korisničkih uslova, i oslobađa prostor koji koristi tabela, ali struktura tabele sa njenim kolonama, indeksima i ograničenjima ostaje ista. Skraćivanje eliminiše podatke iz tabele oslobađanjem stranica sa podacima koje se koriste za pohranjivanje podataka tabele, a samo ove delokacije stranica se čuvaju u dnevniku transakcija. Dakle, koristi manje resursa dnevnika transakcija i sistemskih resursa u usporedbi s drugim srodnim SQL naredbama poput Delete. Dakle, Truncate je malo brža izjava od ostalih. Slijedi tipična sintaksa za naredbu Truncate.

SKRŽI TABELU

Trebali bismo zamijeniti naziv tabele, iz koje želimo ukloniti cijele podatke, u gornjoj sintaksi.

Skraćivanje se ne može koristiti na tabeli koja je referencirana ograničenjem stranog ključa. Automatski koristi urezivanje prije nego što djeluje i drugo urezivanje nakon toga, tako da je vraćanje transakcije nemoguće i nikakvi okidači se ne aktiviraju. Ako želimo ponovo koristiti tabelu, potrebno je samo pristupiti postojećoj definiciji tabele u bazi podataka.

Koja je razlika između Drop i Truncate?

Naredbe Drop i Truncate su DDL naredbe, a također i naredbe za automatsko urezivanje, tako da se transakcije izvršene korištenjem ovih naredbi ne mogu vratiti.

Primarna razlika između Drop i Truncate je u tome što naredba Drop uklanja ne samo sve podatke u tabeli, već i trajno uklanja strukturu tabele iz baze podataka sa svim referencama, dok komanda Skraćivanje uklanja samo sve redove u tabeli i čuva strukturu tabele i njene reference.

Ako se tabela ispusti, odnosi prema drugim tabelama više neće biti važeći, a ograničenja integriteta i privilegije pristupa će također biti uklonjeni. Dakle, ako se traži ponovna upotreba tabele, ona mora biti rekonstruisana sa odnosima, ograničenjima integriteta, kao i privilegijama pristupa. Ali ako je tabela skraćena, struktura tabele i njena ograničenja ostaju za buduću upotrebu, i tako, nijedna od gore navedenih rekreacija nije potrebna za ponovnu upotrebu.

Kada se primjenjuju ove komande, moramo biti oprezni da ih koristimo. Takođe, trebalo bi da bolje razumemo prirodu ovih komandi, kako one funkcionišu, kao i pažljivo planiranje pre nego što ih upotrebimo kako bismo sprečili propuštanje osnovnih stvari. Konačno, obje ove komande se mogu koristiti za brzo i jednostavno čišćenje baza podataka, trošeći manje resursa.

Preporučuje se: