如下是優化真實環境sql。
1、原始sql查詢時長以下
2、EXPLAIN分析以下,說明 關於explain的講解詳見我另外一篇文章
3、結合sql語句分析出
3.1 能夠單獨給business_id加索引,會優化一部分效果
ALTER TABLE st_community_user ADD index index_businessId (business_id);
查詢時間與explain分析
因而可知,對business_id加索引後,掃描行數變成1行,這極大的提高了性能。 3.2 能夠單獨給tenant_id加索引,會優化一部分效果
因而可知,對tenant_id加索引後,優化效果不明顯,掃描行數減小了一半,時間性能並無提高多少。
3.3 對business_id與tenant_id加組合索引,通常狀況下這種性能會提高不少。
結合本實例,business_id加索引後就惟一了,因此本示例加組合索引與加business_id索引的效果應該差很少。
組合索引使用狀況:單獨對business_id加索引後性能提高一部分(很明顯),單獨對tenant_id加索引後性能提高一部分(很明顯)。當對他們添加組合索引後,性能提高顯著。
本實例就不測試組合索引了。sql