Fshi kundrejt shkurtimit
Të dy komandat SQL (Structure Query Language), Delete dhe Truncate përdoren për të hequr qafe të dhënat e ruajtura në tabela në një bazë të dhënash. Delete është një deklaratë DML (Data Manipulation Language) dhe heq disa ose të gjitha rreshtat e një tabele. Klauzola 'Where' përdoret për të specifikuar rreshtat që kërkohen të fshihen, dhe nëse klauzola Where nuk përdoret me deklaratën Delete, ajo heq të gjitha të dhënat në tabelë. Truncate është një deklaratë DDL (Data Definition Language) dhe heq të gjitha të dhënat nga tabela. Të dyja këto komanda nuk e shkatërrojnë strukturën e tabelës dhe referencat në tabelë, dhe vetëm të dhënat hiqen sipas nevojës.
Fshi deklaratën
Deklarata e fshirjes lejon përdoruesin të heqë të dhënat nga një tabelë ekzistuese në një bazë të dhënash bazuar në një kusht të caktuar, dhe "Klauzola Ku" përdoret për përcaktimin e kësaj gjendje. Komanda Delete referohet si një ekzekutim i regjistruar, sepse fshin vetëm një rresht në të njëjtën kohë dhe mban një hyrje për çdo fshirje rresht në regjistrin e transaksioneve. Pra, kjo bën që operacioni të ngadalësohet. Delete është një deklaratë DML, dhe kështu nuk kryhet automatikisht gjatë ekzekutimit të komandës. Prandaj, funksioni "Fshi" mund të rikthehet për t'iu qasur sërish të dhënave, nëse kërkohet. Pas ekzekutimit të komandës Delete, ajo duhet të angazhohet ose të kthehet prapa në mënyrë që të ruhen ndryshimet përgjithmonë. Deklarata e fshirjes nuk e heq strukturën e tabelës së tabelës nga baza e të dhënave. Gjithashtu nuk shpërndan hapësirën e memories së përdorur nga tabela.
Sintaksa tipike për komandën Delete është paraqitur më poshtë.
FSHI NGA
ose
FSHI NGA KU
Deklarata e shkurtuar
Deklarata Truncate heq të gjitha të dhënat nga një tabelë ekzistuese në një bazë të dhënash, por ruan të njëjtën strukturë tabele, gjithashtu kufizimet e integritetit, privilegjet e aksesit dhe marrëdhëniet me tabelat e tjera. Pra, nuk kërkohet të përkufizohet përsëri tabela, dhe struktura e vjetër e tabelës mund të përdoret nëse përdoruesi dëshiron të ripërdorë tabelën përsëri. Truncate heq të gjitha të dhënat duke shpërndarë faqet e të dhënave të përdorura për të mbajtur të dhëna, dhe vetëm këto ndarje të faqeve mbahen në regjistrin e transaksioneve. Prandaj, komanda e shkurtuar përdor vetëm më pak burime të sistemit dhe regjistrit të transaksioneve për funksionim, kështu që është më e shpejtë se komandat e tjera të lidhura. Truncate është një komandë DDL, kështu që përdor angazhimet automatike para dhe pas ekzekutimit të deklaratës. Prandaj, shkurtimi nuk mund t'i kthejë përsëri të dhënat në asnjë mënyrë. Ai liron hapësirën e memories së përdorur nga tabela pas ekzekutimit. Por deklarata e shkurtuar nuk mund të zbatohet në tabelat që janë të referuara nga kufizimet kryesore të huaja.
Në vijim është sintaksa e zakonshme për deklaratën "Truncate".
TABELA E KURSEVE
Cili është ndryshimi midis Fshij dhe Shkurtim?
1. Komandat Delete dhe Cruncate heqin të dhënat nga tabelat ekzistuese në një bazë të dhënash pa dëmtuar strukturën e tabelës ose referenca të tjera në tabelë.
2. Sidoqoftë, komanda Delete mund të përdoret për të fshirë rreshta të caktuar vetëm në një tabelë duke përdorur një kusht përkatës, ose për të fshirë të gjitha rreshtat pa asnjë kusht, ndërsa komanda "Truncate" mund të përdoret vetëm për fshirjen e të dhënave të tëra në tabelë.
3. Delete është një komandë DML dhe mund ta kthejë mbrapsht operacionin nëse është e nevojshme, por Truncate është një komandë DDL, kështu që është një deklaratë e kryerjes automatike dhe nuk mund të rikthehet në asnjë mënyrë. Pra, është e rëndësishme ta përdorni këtë komandë me kujdes në menaxhimin e bazës së të dhënave.
4. Operacioni "Truncate" konsumon më pak burime të sistemit dhe burime të regjistrit të transaksioneve sesa operacioni "Fshi", prandaj, "Truncate" konsiderohet më i shpejtë se "Fshi".
5. Gjithashtu, Delete nuk shpërndan hapësirën e përdorur nga tabela, ndërsa Truncate çliron hapësirën e përdorur pas ekzekutimit, kështu që Delete nuk është efikas në rast të fshirjes së të gjitha të dhënave nga një tabelë e bazës së të dhënave.
6. Megjithatë, "Truncate" nuk lejohet të përdoret kur tabela i referohet një kufizimi të çelësit të huaj dhe në atë rast, komanda Delete mund të përdoret në vend të "Truncate".
7. Së fundi, të dyja këto komanda kanë avantazhe dhe gjithashtu disavantazhe në zbatimin e tyre në Sistemet e Menaxhimit të Bazave të të Dhënave dhe përdoruesi duhet të jetë i vetëdijshëm për përdorimin e duhur të këtyre komandave për të arritur rezultate të mira.