SQL

複数行を返すかもしれないサブクエリー

SQLのサブクエリーが複数行を返すからどうとかいうエラーは型と型の演算結果がどんな型になるかのデータを入れたテーブルを検索するサブクエリーで起こっていることまで絞り込めた。そのサブクエリーと=で比較しているからだな。でも他にも同じようにやって…

クエリーの最適化

SQL

JOINしたりサブクエリーを使ったりビューを使ったりといういろんなパターンを組み合わせてパフォーマンスを計ってみた。 やはりサブクエリーで絞り込んだ上で結合というのが一番速いのか。最初データがない状態で動かしたときはLEFT JOINが速かったりしたん…

PostgreSQLの勉強

SQL

総合研究の中間発表のためにクトゥルー神話の本を持ってこようと思ってたのに、忘れてきたのでPostgreSQLのオフィシャルマニュアルを読んでいた。最適化のためにPostgreSQL依存になるけどルールとかトリガーとか使っちゃおうかなとか、PREPARE試してみようか…

ビューの最適化

SQL

Soyaの、特にSQLの発行の部分が遅いということなので、データベースの最適化をしてみることにした。 EXPLAINで計測できるこということまでは以前調べていたけど、結果の見方を知らなかったので特に何もしていなかった。今回はcostの値を見ながらビューをちょ…