Starpība Starp Dzēst Un Apcirpt

Starpība Starp Dzēst Un Apcirpt
Starpība Starp Dzēst Un Apcirpt

Video: Starpība Starp Dzēst Un Apcirpt

Video: Starpība Starp Dzēst Un Apcirpt
Video: Укладка плитки на неровную стену 2024, Aprīlis
Anonim

Dzēst vs saīsināt

Lai atbrīvotos no datu bāzes tabulās saglabātajiem datiem, tiek izmantotas gan SQL (Structure Query Language) komandas, gan Dzēst, gan Apcirpt. Dzēst ir DML (Data Manipulation Language) paziņojums, un tas noņem dažas vai visas tabulas rindas. “Klauzula” tiek izmantota, lai norādītu rindas, kuras ir jāizdzēš, un, ja klauzula Kur netiek izmantota ar izdzēšanu, tā noņem visus tabulas datus. Truncate ir DDL (Data Definition Language) priekšraksts, un tas no tabulas noņem visus datus. Abas šīs komandas neiznīcina tabulas struktūru un atsauces uz tabulu, un pēc vajadzības tiek noņemti tikai dati.

Dzēst paziņojumu

Izdzēst paziņojumu ļauj lietotājam noņemt datus no esošās tabulas datu bāzē, pamatojoties uz noteiktu nosacījumu, un šī nosacījuma noteikšanai tiek izmantota klauzula “Kur”. Dzēšanas komandu sauc par reģistrētu izpildi, jo tā vienlaikus izdzēš tikai vienu rindu un saglabā ierakstu par katru rindu dzēšanu darījumu žurnālā. Tātad tas padara darbību lēnāku. Dzēst ir DML paziņojums, un tāpēc tas netiek automātiski piešķirts, izpildot komandu. Tāpēc, ja nepieciešams, operāciju Dzēst var atgriezt, lai vēlreiz piekļūtu datiem. Pēc komandas Dzēst izpildes tā ir jāpiesaista vai jāatgriež, lai izmaiņas saglabātu neatgriezeniski. Izdzēšot paziņojumu, no datu bāzes netiek noņemta tabulas tabulas struktūra. Tas arī neizdala tabulas izmantoto atmiņas vietu.

Tipiska komandu Dzēst komanda sintakse ir norādīta zemāk.

DZĒST NO

vai

Dzēst no kurienes

Saīsināt paziņojumu

Saīsināt paziņojums noņem visus datus no esošās tabulas datu bāzē, taču tajā tiek saglabāta tā pati tabulas struktūra, integritātes ierobežojumi, piekļuves privilēģijas un attiecības ar citām tabulām. Tātad nav nepieciešams atkārtoti definēt tabulu, un veco tabulas struktūru var izmantot, ja lietotājs vēlas tabulu atkārtoti izmantot. Saīsināt noņem visus datus, sadalot datu lapas, kas tiek izmantotas datu glabāšanai, un tikai šīs lapu izvietošanas vietas tiek saglabātas darījumu žurnālā. Tāpēc saīsinātā 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. Truncate ir DDL komanda, tāpēc tā izmanto automātiskās saistības pirms un pēc paziņojuma izpildes. Līdz ar to saīsināt datus nekādā veidā vairs nevarēs atgriezt atpakaļ. Tas atbrīvo atmiņas vietu, kuru tabula izmanto pēc izpildes. Bet saīsināt paziņojumu nevar izmantot tabulās, uz kurām atsaucas ārvalstu atslēgu ierobežojumi.

Šis ir kopīgais sintakses paziņojums Truncate.

TRUNCĀTU TABULA

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

1. Dzēšanas un saīsināšanas komandas noņem datus no esošajām datu bāzes tabulām, nekaitējot tabulas struktūrai vai citām atsaucēm uz tabulu.

2. Tomēr komandu Dzēst var izmantot, lai dzēstu noteiktas rindas tikai tabulā, izmantojot atbilstošu nosacījumu, vai dzēstu visas rindas bez nosacījumiem, savukārt komandu Truncate var izmantot tikai visu tabulas datu dzēšanai.

3. Dzēst ir DML komanda, un, ja nepieciešams, tā var atcelt darbību, bet Truncate ir DDL komanda, tāpēc tas ir automātiskās saistības paziņojums, un to nekādā veidā nevar atcelt. Tāpēc ir svarīgi šo komandu uzmanīgi izmantot datu bāzes pārvaldībā.

4. Operācija Truncate patērē mazāk sistēmas resursu un transakciju žurnāla resursu nekā darbība Delete, tāpēc Truncate tiek uzskatīts par ātrāku nekā Delete.

5. Dzēst arī neizdala vietu, kuru izmanto tabula, savukārt Truncate atbrīvo vietu, kas izmantota pēc izpildes, tāpēc Dzēšana nav efektīva, ja visus datus izdzēš no datu bāzes tabulas.

6. Tomēr Truncate nav atļauts izmantot, ja uz tabulu atsaucas svešas atslēgas ierobežojums, un tādā gadījumā Truncate vietā var izmantot komandu Delete.

7. Visbeidzot, abām šīm komandām ir priekšrocības un arī trūkumi, lietojot tās datu bāzu pārvaldības sistēmās, un lietotājam jāapzinās, kā šīs komandas pareizi izmantot, lai sasniegtu labus rezultātus.

Ieteicams: