Kazuhiko
kazuh****@fdiar*****
2014年 12月 3日 (水) 17:50:10 JST
こんにちは、かずひこです。 On 02/12/2014 15:25, Kazuhiko wrote: > On 02/12/2014 07:06, Kouhei Sutou wrote: >>> Mroongaによる全文検索で、EXPLAINで見えるRowsの値が常に1なのですが、これ >>> をある程度それっぽい値にすることは可能でしょうか? >> >> MySQL/MariaDBのソースをみたんですけど、ムリでした。Groongaは >> ある程度それっぽい値を返せるんですが、MySQL/MariaDBはそれを >> 使ってくれない(そもそも要求してくれない)ので常に1になって >> しまいます。 >> >> (MariaDB 10.0.15だとsql/sql_select.ccの >> JOIN_TAB::get_examined_rows()あたりで、MySQL 5.7.5-m15だと >> sql/opt_explain.ccの >> Explain_join::explain_rows_and_filtered()あたり。) >> >> なので、MariaDB側に相談してみたほうがよさそうです。。。 > > 調べてくださってありがとうございます! > さっそく、maria-developers に投稿してみました。 さっそくお返事がありました! たぶん須藤さんも maria-developers をご覧になっていると思いますが、 * オフトピックだけどMariaDBではparser ...はindex commentじゃなく、 engine-defined table attributes と使ったほうがずっといいよ。 https://mariadb.com/kb/en/engine-defined-new-tablefieldindex-attributes/ * 須藤さんの言っていることはそのとおり。 * もし実装したらクエリの実行は改善されるだろう。 * https://mariadb.atlassian.net/browse/MDEV-7250 にこの件を登録したよ。 とのことです。 登録されたチケットを見ると、元々natural language searchではrowsが意味を なさないのでMATCH...AGAINSTの見積もりは常に1でも影響はなかったけれど、 boolean searchや他のエンジンではそうでないだろう、とありました。 Mroongaもバンドルされたことですし、これがMariaDBで実装されると面白そうで すね。 かずひこ