以前にもこの機能のヤバい遅さは言及されていたのだが、時系列検索をしたくなったときに改めて気になった。
そもそも、全文検索ではないのだ。全文検索は難しい。探索木が素人には無限に見える程に広がる。試験的なサービスで RDBMS に LIKE 検索をさせているサービスもあった。だから、てっきりそういうインデックスが効かず(前方一致なら効く)メモリを大量に消費する処理だから遅いんだと思っていた。
でも、増田の検索ってキーワード検索なんですよね…。はてなキーワードは三十数万件らしいので、 LIKE でも全然即答できる。
これもしかして、 {マッチしたはてなキーワード} (120) とかの (120) 部分、つまり該当キーワードに言及する日記から count するために遅いのでは。いやあったら良いこともあるけれど、検索が機能することよりも大事ではないよね。ついでにいうと count としても遅いので、 NULL 値を考慮しないならカラム名を指定せず選択された行の数を返す count(*) が早いよ。
あー、チューニングさせてくれ…。無理だとしても、増田の検索は負荷で遅くなっているのではないと表明してくれ。検索するたびに寿命が縮む。いや、 AnonymousDiary の寿命が縮む思いだ。
数年前までは速かったのにな
えっマジで。じゃあやっぱテーブルの情報量が多くなってサチっているのか。