MySqlインデックス最適化の例

898 ワード

    
SELECT customer_id,title,content FROM `product_comment`
WHERE audit_status=1 AND product_id=199726
LIMIT 0,5
 
 

 

这里的索引有audit_status和product_id,可以建立联合索引。但是哪个放左边就要计算区分度。

 
 

计算方法

SELECT COUNT(DISTINCT audit_status)/COUNT(*) AS audit_rate,
COUNT(DISTINCT product_id)/COUNT(*) AS product_rate
FROM product_comment;

区分度が高ければ高いほど、左に置きます.結論product_rate>audit_rate 
 
統合インデックスの作成
CREATE INDEX idx_productID_auditStatus ON product_comment(product_id,audit_status)