0

そのようなクエリを最適化する方法はありますか:

SELECT * FROM tbl WHERE tid=8 ORDER BY col_a*col_b DESC LIMIT 10;

col_a と col_b は INT 型です

もちろん、そのデータを保持する col_c を作成できることは承知していますが、MySQL がそのデータをインデックスに直接保存する方法を備えていることを望んでいました。

現在、このクエリには約 10 秒かかります (関連するキーに一致する行数によって異なります)。これは EXPLAIN 出力の例です。

id  select_type table   type    possible_keys   key key_len ref rows    Extra
1   SIMPLE  tbl ref tid_uid, tid_col_a  tid_uid 4   const   396816  Using where; Using filesort
4

1 に答える 1