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

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

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

Video: Atšķirība starp dzēšanu un saīsināšanu
Video: Telnet, SSH, консоль и терминал - что это и зачем нужно? 2024, Novembris
Anonim

Dzēst pret saīsināšanu

Lai atbrīvotos no datu bāzes tabulās saglabātajiem datiem, tiek izmantotas abas SQL (struktūras vaicājuma valodas) komandas, Delete un Truncate. Dzēst ir DML (datu manipulācijas valodas) priekšraksts, un tas noņem dažas vai visas tabulas rindas. Klauzula “Where” tiek izmantota, lai norādītu rindas, kuras ir jādzēš, un, ja klauzula Where netiek izmantota kopā ar paziņojumu Dzēst, tiek noņemti visi tabulas dati. Saīsināt ir DDL (datu definīcijas valodas) 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

Dzēst priekšraksts ļauj lietotājam noņemt datus no esošas tabulas datu bāzē, pamatojoties uz noteiktu nosacījumu, un šī nosacījuma noteikšanai tiek izmantota klauzula “Where”. Dzēšanas komanda tiek dēvēta par reģistrētu izpildi, jo tā vienlaikus dzēš tikai vienu rindu un saglabā ierakstu par katru rindas dzēšanu darījumu žurnālā. Tādējādi darbība palēninās. Dzēst ir DML priekšraksts, un tāpēc tas netiek automātiski veikts komandas izpildes laikā. Tāpēc dzēšanas darbību var atgriezt, lai vajadzības gadījumā atkal piekļūtu datiem. Pēc komandas Dzēst izpildes tā ir jāapstiprina vai jāatgriež, lai izmaiņas saglabātu neatgriezeniski. Dzēšanas paziņojums nenoņem tabulas tabulas struktūru no datu bāzes. Tas arī neatbrīvo tabulas izmantoto atmiņas vietu.

Tipiskā komandas dzēšanas sintakse ir norādīta tālāk.

DZĒST NO

vai

IZDZĒST NO KURAS

Saīsināt paziņojumu

Paziņojums Saīsināt noņem visus datus no esošas tabulas datu bāzē, taču saglabā to pašu tabulas struktūru, kā arī integritātes ierobežojumus, piekļuves privilēģijas un attiecības ar citām tabulām. Tātad tabulu nav nepieciešams definēt atkārtoti, un var izmantot veco tabulas struktūru, ja lietotājs vēlas atkārtoti izmantot tabulu. Saīsināšana noņem visus datus, atdalot datu lapas, kas tiek izmantotas datu glabāšanai, un tikai šīs lapu atdalīšanas tiek saglabātas darījumu žurnālā. Tāpēc truncate 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ātiskās saistības pirms un pēc paziņojuma izpildes. Tādējādi truncate nevar atsaukt datus vēlreiz. Pēc izpildes tas atbrīvo tabulas izmantoto atmiņas vietu. Taču Saīsināt paziņojumu nevar lietot tabulās, uz kurām atsaucas ārējās atslēgas ierobežojumi.

Tālāk ir sniegta priekšraksta Truncate kopējā sintakse.

Saīsināt TABULU

Kāda ir atšķirība starp dzēšanu un saīsināšanu?

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 dzēstu noteiktas rindas tikai tabulā, izmantojot attiecīgu nosacījumu, vai dzēstu visas rindas bez jebkādiem nosacījumiem, savukārt komandu Saīsināt var izmantot tikai visu tabulas datu dzēšanai.

3. Dzēst ir DML komanda, un tā var atsaukt darbību, ja nepieciešams, bet Saīsināt ir DDL komanda, tāpēc tā ir automātiskās izpildes priekšraksts 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. Saīsināšanas darbība patērē mazāk sistēmas resursu un darījumu žurnāla resursu nekā darbība Delete, tāpēc tiek uzskatīts, ka saīsināšana ir ātrāka nekā dzēšana.

5. Turklāt funkcija Delete neatbrīvo tabulas izmantoto vietu, savukārt saīsināšana atbrīvo pēc izpildes izmantoto vietu, tāpēc dzēšana nav efektīva, ja tiek dzēsti visi dati no datu bāzes tabulas.

6. Tomēr Saīsināt nav atļauts izmantot, ja uz tabulu atsaucas ārējās atslēgas ierobežojums, un tādā gadījumā var izmantot komandu Dzēst, nevis saīsināt.

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 ir jāzina, kā šīs komandas izmantot pareizi, lai sasniegtu labus rezultātus.

Ieteicams: