[前][次][番号順一覧][スレッド一覧]

mysql:15458

From: Kenichi MASUDA <Kenichi MASUDA <masuda@xxxxxxxxxx>>
Date: Sun, 19 Dec 2010 12:56:13 +0900
Subject: [mysql 15458] 【再送】ORDERの際のfilesortに関して

保存庫みたら文字化けしているようなので、ソフト変えて再度送ります。申し訳ありません。

---------------
増田と申します。

filesortはあまり好きではないので、色々調べたり工夫してみたのですが、
どうにもうまくいかず、解決策が浮かばないので、ご教授頂きたく思います。

mysql> SELECT a, b, a*b AS c FROM num ORDER BY c;

というクエリがあったとき、cでソートをするとSELECTで演算を行っているため、
どうしても中間テーブルのようなものができてしまいます。
(最初から、cというカラムを作っておけば良かったのですが…)

サブクエリで上記のかけ算とソートを行ってから、SELECT文を発行しても、
Subquery returns more than 1 row
と言われてしまいますし、ビューを作るのもコストが高いかなと思い、

今ひとついい方法が見つかりません。


filesortが出てしまう性質のものとして、この種のクエリは回避できないと考えるべきなのでしょうか?
もしなにかありましたらご教授頂けると嬉しく思います。

宜しくお願い致します。


増田
--
Kenichi MASUDA
masuda@xxxxxxxxxx





[前][次][番号順一覧][スレッド一覧]