Atšķirība Starp Kritumu Un Sagriešanu

Atšķirība Starp Kritumu Un Sagriešanu
Atšķirība Starp Kritumu Un Sagriešanu

Video: Atšķirība Starp Kritumu Un Sagriešanu

Video: Atšķirība Starp Kritumu Un Sagriešanu
Video: Latviešu valoda? Tūlīt paskaidrošu! 2024, Novembris
Anonim

Drop vs Truncate

Drop and Truncate ir divi SQL (Structured Query Language) priekšraksti, kas tiek izmantoti datu bāzu pārvaldības sistēmās, kur mēs vēlamies noņemt datu ierakstus no datu bāzes. Gan Drop, gan Truncate priekšraksti noņem visus tabulas datus un saistīto SQL priekšrakstu. Dzēšanas darbība šajā gadījumā nav efektīva, jo tā izmanto vairāk vietas nekā Drop and Truncate.

Gadījumā, ja mēs vēlamies atmest datu bāzē esošo tabulu kopā ar visiem tās datiem, SQL ļauj mums to viegli izdarīt, izmantojot Drop paziņojumu. Drop komanda ir DDL (Data Definition Language) komanda, un to var izmantot, lai iznīcinātu esošu datu bāzi, tabulu, rādītāju vai skatu. Tas izdzēš visu informāciju tabulā, kā arī tabulas struktūru no datu bāzes. Mēs varam arī vēlēties atbrīvoties no visiem tabulas datiem vienkārši, bet bez tabulas, un šādā scenārijā mēs varam izmantot SQL saīsinājumu. Truncate ir arī DDL komanda, un tā novērš visas tabulas rindas, bet saglabā to pašu tabulas definīciju arī turpmākai izmantošanai.

Nometiet komandu

Kā minēts iepriekš, Drop komanda noņem tabulas definīciju un visus tās datus, integritātes ierobežojumus, indeksus, aktivizētājus un piekļuves privilēģijas, kas tika izveidotas attiecīgajā tabulā. Tātad tas pilnībā izmet esošo datu bāzē esošo objektu, un attiecības ar citām tabulām arī vairs nebūs derīgas pēc komandas izpildes. Arī tas noņem visu informāciju par tabulu no datu vārdnīcas. Šis ir tipisks sintakse, lai izmantotu paziņojumu Drop uz tabulas.

PILES GALDA

Mums ir vienkārši jāaizstāj tabulas nosaukums, kuru mēs vēlamies noņemt no datu bāzes, iepriekš minētajā komandas Drop piemērā.

Ir svarīgi norādīt, ka Drop priekšrakstu nevar izmantot, lai izdzēstu tabulu, uz kuru jau atsaucās ārvalstu atslēgas ierobežojums. Tādā gadījumā vispirms jānomet atsauces ārvalstu atslēgas ierobežojums vai konkrētā tabula. Drop paziņojumu nevar izmantot arī sistēmas tabulās datu bāzē.

Tā kā Drop komanda ir paziņojums par automātisku saistību izpildi, pēc palaišanas operāciju nevar atcelt un aktivizētāji netiks iedarbināti. Kad tabula tiek nomesta, visas atsauces uz tabulu nebūs derīgas, un tāpēc, ja vēlamies tabulu izmantot vēlreiz, tā ir jāatjauno ar visiem integritātes ierobežojumiem un piekļuves privilēģijām. Arī visas attiecības ar citām tabulām ir jāatrod no jauna.

Saīsināt komandu

Truncate komanda ir DDL komanda, un tā noņem visas tabulas rindas bez lietotāja norādītiem nosacījumiem un atbrīvo tabulas izmantoto vietu, taču tabulas struktūra ar kolonnām, rādītājiem un ierobežojumiem paliek nemainīga. Truncate novērš datus no tabulas, sadalot datu lapas, kas tiek izmantotas tabulas datu glabāšanai, un tikai šīs lapu izvietošanas vietas tiek saglabātas darījumu žurnālā. Tātad tas izmanto mazāk darījumu žurnāla resursus un sistēmas resursus, salīdzinot ar citām saistītajām SQL komandām, piemēram, Dzēst. Tātad Truncate ir mazliet ātrāks paziņojums nekā citi. Tālāk ir raksturīga komandas saīsināt sintakse.

TRUNCĀTU TABULA

Mums vajadzētu aizstāt tabulas nosaukumu, no kura mēs vēlamies noņemt visus datus, iepriekšminētajā sintaksē.

Saīsināt nevar izmantot tabulā, uz kuru atsaucas svešas atslēgas ierobežojums. Tas automātiski izmanto saistības, pirms tā rīkojas, un pēc tam veic citas saistības, tāpēc darījuma atcelšana nav iespējama, un nav aktivizētāju. Ja mēs vēlamies atkārtoti izmantot tabulu, mums ir jāpiekļūst tikai datu bāzes esošajai tabulas definīcijai.

Kāda ir atšķirība starp Drop un Truncate?

Gan "Drop", gan "Truncate" komandas ir DDL komandas, kā arī automātiskas saistību izraksti, tāpēc darījumus, kas veikti, izmantojot šīs komandas, nevar atcelt.

Galvenā atšķirība starp nomešanu un sagriešanu ir tāda, ka komanda Nometiet noņem ne tikai visus tabulas datus, bet arī neatgriezeniski noņem tabulas struktūru no datu bāzes ar visām atsaucēm, savukārt komanda Traucēt noņem tikai visas tabulas rindas., un tā saglabā tabulas struktūru un atsauces.

Ja tabula tiek nomesta, attiecības ar citām tabulām vairs nebūs derīgas, kā arī tiks noņemti integritātes ierobežojumi un piekļuves tiesības. Tātad, ja tabula ir nepieciešama atkārtotai izmantošanai, tā ir jākonstruē ar attiecībām, integritātes ierobežojumiem un arī piekļuves privilēģijām. Bet, ja tabula tiek saīsināta, tabulas struktūra un tās ierobežojumi paliek lietošanai nākotnē, un tāpēc jebkura no iepriekš minētajām atpūtas vietām nav nepieciešama atkārtotai izmantošanai.

Kad šīs komandas tiek lietotas, mums tās jābūt piesardzīgām. Mums vajadzētu arī labāk izprast šo komandu būtību, to darbību un pirms to izmantošanas rūpīgi izplānot, lai nepieļautu būtisku lietu pazaudēšanu. Visbeidzot, abas šīs komandas var izmantot, lai ātri un viegli iztīrītu datu bāzes, patērējot mazāk resursu.

Ieteicams: