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

इस क्वेरी को कैसे अनुकूलित करें (4 मिमी टेबल शामिल)

आपको GROUP BY . से छुटकारा पाना होगा यहाँ।

MySQL इसे अनुकूलित करने में अच्छा नहीं है।

अपनी क्वेरी को इस तरह दोबारा लिखें:

SELECT  *
FROM    product_table
WHERE   EXISTS
        (
        SELECT  NULL
        FROM    product_table__category_1__mm mm_1
        JOIN    category cat_1
        ON      cat_1.uid = mm_1.uid_foreign
        WHERE   mm_1.uid_local = product_table.uid
                AND mm_1.uid_foreign IN (7, 8)
        )
        AND
        …        

इंडेक्स बनाएं:

product_table__category_*__mm (uid_local, uid_foreign)

या, बेहतर है, उन्हें PRIMARY KEYs घोषित करें product_table__category_*__mm . पर :

ALTER TABLE product_table__category_*__mm ADD CONSTRAINT pk_pc*mm_local_foreign (uid_local, uid_foreign)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं JDBC कनेक्शन पूलिंग का उपयोग कर रहा हूँ?

  2. MYSQL TIMEDIFF फ़ंक्शन लंबे समय तक काम नहीं कर रहा है

  3. UTF-8 सभी तरह से

  4. मैं एक एमडीबी (एक्सेस) फ़ाइल को MySQL (या सादा SQL फ़ाइल) में कैसे परिवर्तित कर सकता हूं?

  5. क्या MySQL डेटाबेस डिज़ाइन में लाखों टेबल और लाखों पंक्तियाँ एक सामान्य प्रथा है?