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

क्या Laravel के soft_delete को MySQL पर अनुक्रमणिका की आवश्यकता है?

कॉलम deleted_at एक अच्छा सूचकांक उम्मीदवार नहीं है। मैं टिप्पणी की तुलना में बेहतर व्याख्या करने की कोशिश करूंगा:इंडेक्स तभी उपयोगी होते हैं जब उनकी कार्डिनैलिटी अपेक्षाकृत अधिक हो। कार्डिनैलिटी एक संख्या है जो डेटा-सेट में इंडेक्स विशिष्टता का वर्णन करती है। इसका मतलब है कि यह रिकॉर्ड की कुल संख्या को कुल अद्वितीय रिकॉर्ड से विभाजित करने पर प्राप्त होता है।

उदाहरण के लिए, प्राथमिक कुंजी की कार्डिनैलिटी 1 है। प्रत्येक रिकॉर्ड में प्राथमिक कुंजी के लिए अद्वितीय मान होता है। 1 भी सबसे बड़ी संख्या है। आप इसे "100%" मान सकते हैं।

लेकिन, हटाए गए_एट जैसे कॉलम का ऐसा कोई मूल्य नहीं है। Laravel delete_at के साथ क्या करता है यह जांचता है कि यह अशक्त है या नहीं। इसका मतलब है कि इसके दो संभावित मूल्य हैं। जिन स्तंभों में दो मान होते हैं उनमें अत्यंत कम कार्डिनैलिटी होती है जो रिकॉर्ड की संख्या बढ़ने पर घट जाती है।

आप ऐसे कॉलम को इंडेक्स कर सकते हैं, लेकिन इससे कोई मदद नहीं मिलेगी। क्या होगा कि यह चीजों को धीमा कर सकता है और जगह ले सकता है।

TL;DR:नहीं, आपको उस कॉलम को इंडेक्स करने की आवश्यकता नहीं है, इंडेक्स का प्रदर्शन पर कोई लाभकारी प्रभाव नहीं पड़ेगा।



  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

  2. यूनिकोड सीएसवी फ़ाइल में बंगाली भाषा का पाठ प्रदर्शित नहीं किया गया

  3. टेबल यूजर के लिए सॉल्विंग इंडेक्स भ्रष्ट है; इसे सुधारने का प्रयास करें

  4. कैसे निर्धारित करें कि क्या अधिक प्रभावी है:DISTINCT या WHERE EXISTS?

  5. MySQL/MariaDB में एक डेटाबेस को कैसे डिलीट करें