mysql
テーブル A はすべてのクライアントのログで、その数は 200 万です。
テーブル B はクライアントの詳細で、その数は 20,000 です。特定の条件を満たすクライアントのログ、SQL は次のとおりです:
<code>SELECT A.*FROM `VIEW_DATA.basic_LOG.20160523` AINNER JOIN (SELECT AGT_ID FROM VIEW_AGENT where AGT_GRP_ID in (999)) B ON A.`BAS_AGT_ID` = B.AGT_IDORDER BY `BAS_TIME` DESC, `ID` DESC LIMIT 7;</code>
1 シンプル b eq_ref プライマリPRIMARY 4 ocular3.a.AGT_GRP_ID 1 100 使用場所; 使用インデックス
引用元:
2 つのテーブルを逆に書き込み、内部リンクを外部リンクに変更し、(999) の AGT_GRP_ID を =999 の AGT_GRP_ID に変更します。
A.*、B.AGT_IDを選択
FROM VIEW_DATA.basic_LOG.20160523 A ,VIEW_AGENT B ここで、B.AGT_GRP_ID=999 および A.BAS_AGT_ID = B.AGT_ID
ORDER BY A.BAS_TIME DESC, A.ID DESC LIMIT 7; これに変更してみてください