Memo/Database

http://dexlab.net/pukiwiki/index.php?Memo%2FDatabase
 

#snapshot

データベースメモ

サンプルデータ

最適化/高速化

  • プログラム内のデータベース処理高速化TIPS:phpspot開発日誌
    explainでインデックスが使われているかを調べる
    最も速いクエリは、クエリを発行しないこと、ということでデータをキャッシュしよう
    Memcached, CSQL Cache, AdoDB などでそれが可能
    必要じゃないモノをselect しないようにする
    select-from table;
    ↓
    select id from table;
    limit を使って取得する結果を少なくする
    foreach ループなどの中でsqlクエリをループさせないで1回にまとめられるのはまとめる
    サブクエリの代わりにjoinを使う
    ワイルドカードを使う場合は注意する。インデックスが使われないものは低速になる
    OR の代わりに UNIONを使う
    インデックスを適切に使う

命名規約/命名規則

各データベース機能比較

機能PostgreSQL 8.0Oracle 10gMySQL 4.1.7
トランザクション
アーカイブログ
行ロック
外部キー
サブクエリ
ストアドプロシジャ*1
ビュー
トリガ
スキーマ
ルール
継承
ドメイン
情報スキーマ
マルチバイト対応
ユーザ定義データ型
コンポジットデータ型
テーブルスペース
レプリケーション*2
分散データベース*3

リンク


*1 MySQL 5.xで実装予定
*2 サードパーティソフトの併用で利用可能
*3 次期バージョンで実装予定

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-04-14 (水) 22:09:56 (2993d)