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

यह MySQL क्वेरी क्यों लटकती है?

क्योंकि किसी ने एक टेबल या एक पंक्ति को लॉक कर दिया है। ऐसा हो सकता है, उदाहरण के लिए, यदि आपने एक सत्र में ऑटो कमिट अक्षम कर दिया है (ताकि आप अपने संशोधनों को वापस ले सकें) और वहां प्रतिबद्ध करना भूल गए।

यह दस्तावेज़ मदद कर सकता है।

[संपादित करें] टेबल परिभाषाएं पोस्ट करने के बाद, आप देख सकते हैं कि दो जॉइन कॉलम के प्रकार अलग-अलग हैं। अब प्रश्न यह है कि जब आप क्वेरी चलाते हैं तो कौन सा प्रकार अप/डाउन-कास्ट होगा? आपके मामले में, PAYMENT_TRANSACTION_LOG_ID का प्रकार डालना बेहतर हो सकता है से varchar , खासकर यदि आपके पास TRANSACTION_ID . पर एक अनुक्रमणिका है (जो आपको इस क्वेरी के लिए बनाना चाहिए)।

इस तरह, तालिका tbl_order_head से कुछ पंक्तियां (या एक भी एक) चुना जाएगा और फिर, तालिका में एक त्वरित लुकअप होता है tbl_orders_log . इसके बिना, डेटाबेस लॉग टेबल से सभी रिकॉर्ड लोड करेगा और पाए गए ऑर्डर हेडर में एक मैच के लिए प्रत्येक रिकॉर्ड की जांच करेगा (साथ ही प्रत्येक आईडी को हेडर में टाइप करने के लिए कास्टिंग करना आदि)।



  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. Mysql एक विशिष्ट प्राथमिक कुंजी के साथ एक कॉलम को ऑटो-इंक्रीमेंट करता है

  4. आप सेलेक्ट WHERE IN () का उपयोग करके ऑर्डर कैसे रखते हैं?

  5. MySQL - तालिका ए में मूल्यों की सूची कैसे प्राप्त करें जो तालिका बी में मौजूद नहीं है?