記事:
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 |