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

Django व्यवस्थापक MySQL धीमी INNER JOIN

मैंने Django ORM के लिए INNER JOIN के लिए एक फिक्स लागू किया है, यह INNER जॉइन के साथ ऑर्डर करने के मामले में STRAIGHT_JOIN का उपयोग करेगा। मैंने Django core-devs से बात की और हमने इसे अभी के लिए एक अलग बैकएंड के रूप में करने का फैसला किया। तो आप इसे यहां देख सकते हैं:https://pypi.python.org/pypi /django-mysql-fix

हालाँकि, एक और उपाय है। James's answer से एक स्निपेट का उपयोग करें, लेकिन इसके साथ select_संबंधित बदलें:

qs = qs.select_related('').prefetch_related('wheel', 'dealer', 'category')

यह इनर जॉइन को रद्द कर देगा और 4 अलग-अलग प्रश्नों का उपयोग करेगा:1 कार लाने के लिए और 3 अन्य car_id के साथ आईएन (...)।

अद्यतन करें: मुझे एक और उपाय मिल गया है। एक बार जब आप अपने विदेशीकी फ़ील्ड में शून्य =सही निर्दिष्ट करते हैं, तो Django इनर जॉइन के बजाय बाएं बाहरी जॉइन का उपयोग करेगा। LEFT OUTER JOIN इस मामले में प्रदर्शन के मुद्दों के बिना काम करता है, लेकिन आपको अन्य मुद्दों का सामना करना पड़ सकता है जिनके बारे में मुझे अभी तक पता नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेबियन 8 . पर MySQL कैसे स्थापित करें

  2. पंक्ति उत्पाद प्राप्त करें (गुणा)

  3. password_verify झूठी वापसी क्यों कर रहा है?

  4. php/mysql खाता सक्रियण

  5. MySQL:sql_mode को स्थायी रूप से सेट करना