Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego MySQL nie używa klucza podstawowego na JOIN plus ORDER?

Czy możesz wypróbować tę wersję (w zasadzie pobiera pierwsze 420 wierszy corder tabeli, zachowuje 20 z nich, a następnie wykonuje 3 sprzężenia zewnętrzne):

SELECT
    corder.id,
    corder.public_id,
    CONCAT(buyer.fname," ",buyer.lname) AS buyer_name,
    corder.status,
    corder.payment,
    corder.reserved AS R,
    corder.tracking_id != "" AS A,
    corder.payment_received AS pay_date,
    invoice.invoice_no AS inv,
    invoice.receipt_no AS rec,
    invoice.public AS pub_inv,
    proforma.proforma_no AS prof,
    proforma.public AS pub_pf,
    corder.rating,
    corder.rating_comments!="" AS got_comment
FROM
    ( SELECT * 
      FROM corder
      ORDER BY
        id DESC 
      LIMIT 400, 20
    )
    AS corder
LEFT JOIN user as buyer ON buyer.id = corder.buyer
LEFT JOIN invoice AS invoice ON invoice.id = corder.invoice
LEFT JOIN invoice AS proforma ON proforma.id = corder.proforma
ORDER BY
    corder.id DESC ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pamięć podręczna zapytań nie działa

  2. 2 sposoby konwersji między liczbą dziesiętną a szesnastkową w MySQL

  3. Jak używać natywnego hasła w MySQL 5.7

  4. Błąd zapytania PHP PDO w tabeli ma typ danych json (MySQL 5.7.8-rc)

  5. Jaka jest poprawna składnia partycjonowania w SQL?