explainでインデックスが使われているかを調べる 最も速いクエリは、クエリを発行しないこと、ということでデータをキャッシュしよう Memcached, CSQL Cache, AdoDB などでそれが可能 必要じゃないモノをselect しないようにする select-from table; ↓ select id from table; limit を使って取得する結果を少なくする foreach ループなどの中でsqlクエリをループさせないで1回にまとめられるのはまとめる サブクエリの代わりにjoinを使う ワイルドカードを使う場合は注意する。インデックスが使われないものは低速になる OR の代わりに UNIONを使う インデックスを適切に使う
id プライマリキー [tablename]_id 外部キー _at timestamp
機能 | PostgreSQL 8.0 | Oracle 10g | MySQL 4.1.7 |
トランザクション | ○ | ○ | ○ |
アーカイブログ | ○ | ○ | X |
行ロック | ○ | ○ | ○ |
外部キー | ○ | ○ | ○ |
サブクエリ | ○ | ○ | ○ |
ストアドプロシジャ | ○ | ○ | X*1 |
ビュー | ○ | ○ | X |
トリガ | ○ | ○ | X |
スキーマ | ○ | ○ | X |
ルール | ○ | X | X |
継承 | ○ | X | X |
ドメイン | ○ | ○ | X |
情報スキーマ | ○ | X | X |
マルチバイト対応 | ○ | ○ | ○ |
ユーザ定義データ型 | ○ | X | X |
コンポジットデータ型 | ○ | ○ | X |
テーブルスペース | ○ | ○ | X |
レプリケーション | △*2 | ○ | ○ |
分散データベース | X*3 | ○ | X |