簡體   English   中英

在mysql中通過慢查詢順序

[英]Order by slow query in mysql

我正在使用此查詢來獲取產品。產品表有302,716行。花太多時間來執行2-3分鍾左右。但是當我刪除訂單時花費的時間更少。

SELECT DISTINCT 
  product.ProductID,
  company.CompanyName 
FROM
  product 
  INNER JOIN company 
    ON company.CompanyID = product.CompanyID 
  LEFT JOIN company_csv_data 
    ON company.CompanyID = company_csv_data.CompanyID 
  LEFT JOIN productcategory 
    ON product.ProductID = productcategory.ProductID 
  LEFT JOIN category 
    ON category.CategoryID = productcategory.CategoryID 
  LEFT JOIN supplier 
    ON product.supplier = supplier.id 
  LEFT JOIN template_vouchers tm 
    ON product.ProductID = tm.voucher_id 
WHERE company.turn_on = 1 
  AND product.ProductEndDate >= CURRENT_DATE 
  AND turn_off = 1 
GROUP BY product.ProductID 
ORDER BY clicks DESC,
  product.CodeOpen DESC,
  product.Online,
  product.EntryDate DESC 
LIMIT 0, 15 

您可以通過為select和where子句中的列創建索引來提高查詢的速度/性能(這會減慢插入,刪除和更新語句的速度。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM