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

खंड द्वारा MySQL क्रम में हाइफ़न

उत्तर प्रश्न में है:

यहां कीवर्ड "अभिव्यक्ति" . है . आप ORDER BY . में भावों का उपयोग कर सकते हैं खंड।

ORDER BY -order_line_groups.sequence DESC

एक अंकगणितीय अभिव्यक्ति है और "हाइफ़न" एक हाइफ़न नहीं बल्कि एक माइनस है; एक यूनरी माइनस मैथमेटिकल ऑपरेटर।

यह कैसे काम करता है?

परिणाम के संबंध में, यह अपेक्षा के अनुरूप काम करता है:

  • यदि कॉलम का प्रकार order_line_groups.sequence एक संख्यात्मक प्रकार है या एक तारीख और समय का प्रकार (वे आंतरिक रूप से संख्याओं के रूप में भी संग्रहीत होते हैं) तो ऋण वापस पंक्तियों के क्रम को उलट देता है। यह खंड

    . के बराबर है
      ORDER BY order_line_groups.sequence ASC
    
  • यदि कॉलम का प्रकार स्ट्रिंग प्रकार तब MySQL मानों को बदलने का प्रयास करता है कॉलम से संख्याओं तक (क्योंकि घटाव एक अंकगणितीय ऑपरेशन है और इसे स्ट्रिंग्स के लिए परिभाषित नहीं किया गया है)। जब MySQL स्ट्रिंग्स को नंबरों में कनवर्ट करता है तो यह पहले कैरेक्टर पर रुक जाता है जो कि डिजिट नहीं है। आपके द्वारा कॉलम order_line_groups.sequence . में संग्रहीत डेटा के आधार पर , इसके कम या ज्यादा स्ट्रिंग मान संख्या 0 . में बदल जाएंगे ।

गति के संबंध में, जैसा कि प्रश्न में दिए गए प्रलेखन पृष्ठ में बताया गया है, MySQL ORDER BY को हल करने के लिए अनुक्रमणिका का उपयोग नहीं कर सकता है . यह क्वेरी को धीमा कर देता है।

निष्कर्ष

ORDER BY -order_line_groups.sequence का उपयोग करना क्वेरी को धीमा कर देता है। अधिक, यह परिणाम सेट को सॉर्ट करने का एक अच्छा तरीका प्रदान नहीं करता है जब कॉलम का प्रकार sequence एक स्ट्रिंग प्रकार है।



  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. नेटबीन्स xdebug सभी फोरम उत्तरों के माध्यम से जाने के बावजूद कनेक्शन की प्रतीक्षा कर रहा है

  3. MySQL दिनांक स्वरूप निर्दिष्टकर्ताओं की सूची

  4. MySQL:मैपिंग टेबल को समझना

  5. विंडोज 7 में कमांड लाइन का उपयोग करके बड़ी MySQL डेटा-इन्सर्ट स्क्रिप्ट फ़ाइल को कैसे निष्पादित करें?