タグ

データベースに関するjohshishaのブックマーク (4)

  • インデックスの基礎知識

    ■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲

  • データベース・パフォーマンス・チューニング(初級編)

    はじめに 索引について 表の結合操作 SQL文の診断 SQL文の改良 はじめに オラクルのパフォーマンスチューニングには、設計段階で行なうものと、アプリケーション開発時に行なうものがあります。 ここでは、アプリケーション開発時に効率的なSQL文を書くためのポイントをまとめます。 一般的なチューニング作業の流れ 適切なデータベース設計 SQL文のチューニング アプリケーションのチューニング メモリのチューニング I/Oのチューニング 競合のチューニング 索引について テーブル(表)内のデータは、物理入力順に格納されている。 そのため、表内の特定の列に「索引」を作成して、よりよい検索パフォーマンスを引き出すことができる。 ●索引には、 単一型索引--表内の単一の列から構成された索引 連結型索引--複数の列から構成された索引。最大32列まで指定できる。 ※連結型索引でも、先頭列だけは単一型索引と

  • ライブラリ: peewee

    peewee は Python でデータベースを扱いやすくする「 OR マッパ」ライブラリです。 デフォルトでは PosgreSQLMySQLSQLite の 3 つに対応しています。 以下 peewee の基的な使い方を見ていきます。 データベースへの接続 データベースへの接続は Database クラスのインスタンスを使って行います。 SQLite の場合は次のようになります。 # データベースに接続する db = SqliteDatabase('db.sqlite') db.connect() # さまざまな処理... # データベース接続を閉じる db.close() # データベース指定のための設定を格納したベースモデル class BaseModel(Model): class Meta: database = db # モデル Person # person テ

    ライブラリ: peewee
  • 決して陳腐化しないデータベース設計の超基礎 | ウルシステムズ株式会社

    昨今、IT関連のメディアを中心に「モデリング」という言葉をよく見かけるようになりました。言葉で言うのは簡単ですが、では実際にモデリングを"まともに"行なえる技術者はどのくらいいるのでしょうか。筆者の経験から、モデリングのスキルは情報システム開発に関するスキルの中でも最重要なものの1つだと断言できます。稿では、モデリングの中でも特にデータモデリング(DB設計)に焦点を絞り、「エンティティ」「関連」「属性」「関連の多重度」という筆者が考えるデータモデリングの4大要素を中心に、その基礎知識やスキル習得法のポイントなどを紹介していきます。 DB設計のスキルは陳腐化しない!近年、DB設計の重要性が再認識されつつあります。今風な呼び方をすると「モデリング」と呼ばれるテーマであり、ちょっとしたブームになっているようにも思えます。例えば、IT雑誌やWebサイトなどの情報源を"チラ見"するだけで、数多くの

    決して陳腐化しないデータベース設計の超基礎 | ウルシステムズ株式会社
  • 1