簡體   English   中英

MYSQL / SQL:查詢優化

[英]MYSQL/SQL: Query optimisation

我有這個查詢:

SELECT count(member_id) FROM member_favorite_business WHERE business_id=3912 AND member_id=413

當我使用mysql配置文件工具對該查詢進行配置時,它表示此查詢非常糟糕。 它說:

JOIN SIZE: 16128 (VERY BAD, VERY SLOW)


CONTAINS FULL TABLE SCANS (BAD)

我的問題是,我該如何改善?

任何建議將不勝感激

干杯!

(business_id, member_id)上添加索引。

您也可以寫COUNT(*)代替count(member_id)因為member_id不能為NULL,但是我懷疑這會對性能產生重大影響。

評論中的第二個問題比較困難,您可能希望將其作為單獨的問題發布。 ORDER BY rand()會引起問題,也許其他人對此有建議。 在(coordinates,id)或(id,coordinates)上創建索引,看看哪個更快。 我假設2.1032155,49.1801863是樣本坐標,並且您想在該點的10個“某物”內找到5個匹配項。

暫無
暫無

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

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