Atšķirība starp dzēšanu un saīsināšanu

Dzēst vs saīsināt

Abas SQL (Struktūras vaicājumu valoda) komandas, Dzēst un Saīsināt tiek izmantotas, lai atbrīvotos no datiem, kas tiek glabāti datu bāzes tabulās. Dzēst ir DML (datu manipulācijas valoda) paziņojums, un tas noņem dažas vai visas tabulas rindas. “Klauzula” tiek izmantota, lai norādītu rindas, kuras jādzēš, un, ja klauzulu Kur neizmanto kopā ar paziņojumu Dzēst, tas noņem visus tabulas datus. Saīsinājums ir DDL (datu definīcijas valoda) paziņojums, un tas no tabulas noņem visus datus. Abas šīs komandas neiznīcina tabulas struktūru un atsauces uz tabulu, un tikai dati tiek noņemti pēc nepieciešamības.

Dzēst paziņojumu

Dzēst paziņojumu lietotājam ļauj noņemt datus no esošās tabulas datu bāzē, pamatojoties uz noteiktu nosacījumu, un šī nosacījuma noteikšanai tiek izmantots “Klauzula”. Komanda Dzēst tiek saukta par reģistrētu izpildi, jo tā vienlaikus izdzēš tikai vienu rindu un darījumu žurnālā saglabā ierakstus par katras rindas dzēšanu. Tātad tas samazina darbību. Dzēst ir DML paziņojums, tāpēc komandas izpildes laikā tas netiek automātiski izpildīts. Tāpēc operāciju Dzēšana var atjaunot, lai vajadzības gadījumā vēlreiz piekļūtu datiem. Pēc komandas Dzēšana izpildes tai vajadzētu būt atsauktai vai atjaunot, lai neatgriezeniski saglabātu izmaiņas. Izdzēšot paziņojumu, datu bāzes tabulas struktūra netiek noņemta. Tas arī nenodarbojas ar tabulas izmantotās atmiņas vietas noteikšanu.

Raksturīgākā komandas Dzēst sintakse ir norādīta zemāk.

Svītrot no

vai

Dzēst no kurienes

Saīsināt paziņojumu

Truncate paziņojums noņem visus datus no esošās tabulas datu bāzē, taču tajā ir saglabāta tā pati tabulas struktūra, kā arī integritātes ierobežojumi, piekļuves privilēģijas un attiecības ar citām tabulām. Tātad, tabula nav jādefinē no jauna, un, ja lietotājs vēlas tabulu atkārtoti izmantot, var izmantot veco tabulas struktūru. Truncate noņem visus datus, nodalot datu lapas, kuras tiek izmantotas datu glabāšanai, un darījumu žurnālā tiek saglabātas tikai šīs lapu darījumu izvietošanas vietas. Tāpēc saīsināšanas komanda darbībai izmanto tikai mazāk sistēmas un darījumu žurnāla resursu, tāpēc tā ir ātrāka nekā citas saistītās komandas. Saīsināt ir DDL komanda, tāpēc tā izmanto automātiskas saistības pirms un pēc paziņojuma izpildes. Tādējādi saīsinātos datus vairs nevar atgūt. Tas atbrīvo atmiņu, kuru tabula izmanto pēc izpildes. Bet saīsinājumu nevar izmantot tabulās, uz kurām atsaucas ārvalstu atslēgas ierobežojumi.

Šis ir kopīgais sintakse par Truncate paziņojumu.

TRUNCATE TABULA

Kāda ir atšķirība starp Dzēst un Saīsināt?

1. Komandas Dzēst un Saīsināt noņem datus no esošajām tabulām datu bāzē, nekaitējot tabulas struktūrai vai citām atsaucēm uz tabulu.

2. Tomēr komandu Dzēst var izmantot, lai izdzēstu konkrētas rindas tikai tabulā, izmantojot atbilstošu nosacījumu, vai izdzēstu visas rindas bez jebkādiem nosacījumiem, savukārt komandu Saīsināt var izmantot tikai visu datu izdzēšanai tabulā..

3. Dzēst ir DML komanda, un nepieciešamības gadījumā tā var atcelt darbību, taču saīsināt ir DDL komanda, tāpēc tas ir automātiskas saistīšanas paziņojums, un to nekādā veidā nevar atsaukt. Tāpēc ir svarīgi rūpīgi izmantot šo komandu datu bāzes pārvaldībā.

4. Darbības saīsināšana patērē mazāk sistēmas resursu un transakciju žurnāla resursu nekā operācija Dzēst, tāpēc saīsināšana tiek uzskatīta par ātrāku nekā Dzēst..

5. Arī Dzēst nenodarbojas ar tabulas izmantotās vietas noteikšanu, savukārt Truncate atbrīvo vietu, kas izmantota pēc izpildes, tāpēc Dzēšana nav efektīva, ja no datu bāzes tabulas tiek izdzēsti visi dati..

6. Tomēr saīsinājumu nav atļauts izmantot, ja uz tabulu atsaucas ierobežojums ar svešzemju atslēgu, un tādā gadījumā saīsināšanas vietā var izmantot komandu Dzēst..

7. Visbeidzot, abām šīm komandām ir priekšrocības un trūkumi, tās piemērojot datu bāzu pārvaldības sistēmās, un lietotājam jāzina, ka, lai sasniegtu labus rezultātus, šīs komandas tiek izmantotas atbilstoši..