Pagkakaiba sa pagitan ng Drop at Truncate

I-drop ang vs Truncate
Ang Drop at Truncate ay dalawang pahayag ng SQL (Structured Query Language) na ginagamit sa Database Management System, kung saan nais naming alisin ang mga tala ng data mula sa isang database. Ang parehong mga pahayag ng Drop at Truncate ay tinanggal ang buong data sa isang talahanayan at ang kaugnay na pahayag ng SQL. Ang pagpapatakbo ng pagtanggal ay hindi epektibo sa kasong ito dahil gumagamit ito ng mas maraming mga puwang sa imbakan kaysa sa Drop at Truncate.
Sa kaso, kung nais naming itapon ang isang talahanayan sa isang database nang buo kasama ang lahat ng data nito, pinapayagan kami ng SQL na madaling gawin ito gamit ang pahayag ng Drop. Ang utos ng pag-drop ay isang utos ng DDL (Data Definition Language), at maaari itong magamit upang sirain ang isang umiiral na database, talahanayan, index o pagtingin. Tinatanggal nito ang buong impormasyon sa isang talahanayan, pati na rin ang istraktura ng talahanayan mula sa database. Gayundin, maaari naming alisin ang lahat ng mga data sa isang mesa nang simple, ngunit kung wala ang talahanayan, at maaari naming gamitin ang pahayag ng Truncate sa SQL sa tulad ng isang senaryo. Ang Truncate ay isa ring utos ng DDL at tinanggal nito ang lahat ng mga hilera sa isang talahanayan ngunit pinapanatili ang kahulugan ng talahanayan para sa paggamit sa hinaharap.
Utos ng pag-drop
Tulad ng nabanggit kanina, tinatanggal ng utos ng Drop ang kahulugan ng talahanayan at lahat ng data nito, mga hadlang sa integridad, mga index, pag-trigger, at pag-access sa mga pribilehiyo, na nilikha sa partikular na talahanayan. Kaya ibinabagsak nito ang umiiral na bagay mula sa database, at ang mga ugnayan sa iba pang mga talahanayan ay hindi na magiging wasto matapos na isagawa ang utos. Inaalis din nito ang lahat ng impormasyon tungkol sa talahanayan mula sa diksyunaryo ng data. Ang sumusunod ay ang karaniwang syntax para sa paggamit ng Drop statement sa isang mesa.
TUMBOK
Kailangan nating palitan lamang ang pangalan ng talahanayan na nais naming alisin mula sa database sa itaas na halimbawa ng Drop na utos.
Mahalagang ituro na ang pahayag ng Drop ay hindi maaaring gamitin upang tanggalin ang isang talahanayan, na na-refer na ng isang dayuhang susi pagpilit. Sa kasong iyon, ang referencing foreign key pagpilit, o ang partikular na talahanayan ay dapat ibagsak muna. Gayundin, ang pahayag ng Drop ay hindi mailalapat sa mga talahanayan ng system sa database.
Dahil ang utos ng Drop ay isang pahayag na awtomatiko, ang pagpapatakbo sa sandaling pinaputok ay hindi maaaring i-roll pabalik at walang mga nag-trigger na pinaputok. Kapag ang isang talahanayan ay nahulog, ang lahat ng mga sanggunian sa talahanayan ay hindi magiging wasto, at sa gayon, kung nais nating gamitin muli ang talahanayan, dapat itong muling likhain kasama ang lahat ng mga hadlang sa integridad at mga pribilehiyong ma-access. Ang lahat ng mga ugnayan sa iba pang mga talahanayan, ay dapat na matatagpuan muli.
Utos ng truncate
Ang utos ng truncate ay isang utos ng DDL, at tinanggal nito ang lahat ng mga hilera sa isang talahanayan na walang tinukoy na mga kondisyon ng gumagamit, at pinakawalan ang puwang na ginamit ng talahanayan, ngunit ang istraktura ng talahanayan na may mga haligi, index at mga hadlang ay mananatiling pareho. Tinatanggal ng Truncate ang data mula sa isang talahanayan sa pamamagitan ng pag-deallocating ng mga pahina ng data na ginamit upang mag-imbak ng data ng talahanayan, at ang mga deallocations ng pahinang ito ay napanatili sa log ng transaksyon. Kaya gumagamit ito ng mas kaunting mga mapagkukunan ng pag-log sa transaksyon at mga mapagkukunan ng system kumpara sa iba pang mga kaugnay na mga utos ng SQL tulad ng Tanggalin. Kaya ang Truncate ay medyo mas mabilis na pahayag kaysa sa iba. Ang sumusunod ay ang karaniwang syntax para sa utos ng Truncate.
TRABAHO TABLE
Dapat nating palitan ang pangalan ng talahanayan, mula kung saan nais naming alisin ang buong data, sa nabanggit na syntax.
Ang truncate ay hindi maaaring magamit sa isang mesa na na-refer sa pamamagitan ng isang banyagang susi pagpilit. Gumagamit ito ng awtomatikong ginagawa bago ito kumilos at isa pang gumawa pagkatapos kaya imposible ang pag-rollback ng transaksyon, at walang mga nag-trigger na pinaputok. Kung nais naming muling magamit ang talahanayan kailangan lamang naming ma-access ang umiiral na kahulugan ng talahanayan sa database.
Ano ang pagkakaiba ng Drop at Truncate?
Ang parehong mga utos ng Drop at Truncate ay mga utos ng DDL at pati na rin ang mga awtomatikong gumawa ng mga pahayag kaya ang mga transaksyon na ginanap gamit ang mga utos na ito ay hindi maaaring balikan.
Ang pangunahing pagkakaiba sa pagitan ng Drop at Truncate ay ang pagtanggal ng utos ng Drop, hindi lamang ang lahat ng data sa isang talahanayan, ngunit tinanggal din nito ang istraktura ng talahanayan nang permanente mula sa database na may lahat ng mga sanggunian, habang ang utos ng Truncate ay tinatanggal lamang ang lahat ng mga hilera sa isang talahanayan. , at pinapanatili nito ang istraktura ng talahanayan at ang mga sanggunian nito.
Kung ang isang talahanayan ay nahulog, ang mga relasyon sa iba pang mga talahanayan ay hindi na wasto, at ang mga paghihigpit ng integridad at mga pribilehiyo sa pag-access ay aalisin din. Kaya kung ang talahanayan ay kinakailangan upang magamit muli, kailangan itong muling itayo sa mga relasyon, mga hadlang sa integridad, at ang mga pribilehiyong pag-access. Ngunit kung ang isang talahanayan ay truncated, ang istraktura ng talahanayan at ang mga hadlang nito ay mananatili para sa paggamit sa hinaharap, at sa gayon, ang alinman sa mga libangan sa itaas ay hindi kinakailangan para sa paggamit muli.
Kapag inilapat ang mga utos na ito, dapat tayong maging maingat na gamitin ang mga ito. Gayundin, dapat nating magkaroon ng isang mas mahusay na pag-unawa sa likas na katangian ng mga utos na ito, kung paano sila gumagana, at din ng ilang maingat na pagpaplano bago gamitin ang mga ito upang maiwasan ang mga nawawalang mahahalaga. Sa wakas, ang parehong mga utos na ito ay maaaring magamit upang linisin ang mga database nang mabilis at madali, ubusin ang mas kaunting mga mapagkukunan.