Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql/sqlserver में ट्रंकेट बनाम डिलीट की तुलना

हटाएं

  1. DELETE एक DML कमांड है।
  2. एक पंक्ति लॉक का उपयोग करके DELETE कथन निष्पादित किया जाता है, तालिका में प्रत्येक पंक्ति को हटाने के लिए लॉक किया जाता है।
  3. जहां क्लॉज में हम फिल्टर निर्दिष्ट कर सकते हैं
  4. यदि स्थिति मौजूद है तो यह निर्दिष्ट डेटा हटा देता है।
  5. डिलीट एक ट्रिगर सक्रिय करता है क्योंकि ऑपरेशन व्यक्तिगत रूप से लॉग किया जाता है।
  6. छंटनी से धीमी क्योंकि, यह लॉग रखता है।
  7. रोलबैक संभव है।

छंटनी

  1. TRUNCATE एक DDL कमांड है।
  2. TRUNCATE TABLE हमेशा टेबल और पेज को लॉक करता है लेकिन हर रो को नहीं।
  3. कहां स्थिति का उपयोग नहीं कर सकते।
  4. यह सभी डेटा को हटा देता है।
  5. TRUNCATE TABLE ट्रिगर को सक्रिय नहीं कर सकता क्योंकि ऑपरेशन व्यक्तिगत पंक्ति विलोपन को लॉग नहीं करता है।
  6. प्रदर्शन के लिहाज से तेज़, क्योंकि यह कोई लॉग नहीं रखता है।
  7. रोलबैक संभव है।


  • DELETE और TRUNCATE दोनों को ट्रांजेक्शन के साथ उपयोग करने पर वापस रोल किया जा सकता है (TRUNCATE को SQL सर्वर में वापस रोल किया जा सकता है, लेकिन MySQL में नहीं)।
  • अगर ऑटो इंक्रीमेंट वाला पीके है, तो ट्रंकेट काउंटर को रीसेट कर देगा

http://beginner-sql-tutorial.com/sql-delete-statement .htm



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे mysql udf json_extract 0.4.0 का उपयोग कर एक json सरणी से पंक्तियों को निकालने के लिए?

  2. कक्षा उपस्थिति रिकॉर्ड प्रारूप SQL क्वेरी

  3. EF6 MySQL स्ट्रांग टाइपिंग अपवाद जब कॉलम पीके नहीं है

  4. विदेशी कुंजी के लिए कार्रवाई कैसे बदलें

  5. mysql क्वेरी में एकाधिक पंक्तियों के लिए कॉलम का अधिकतम सेट पाएं