タグ

ブックマーク / sikushima.hatenablog.com (2)

  • NoSQLとSQLについて - SQLer 生島勘富 のブログ

    NoSQL(Not Only SQL)とは、SQLを使わないKVS(Key Value Store)などを指しますが、最近流行のキーワードです。今日はNoSQLについて。 SQL英語であり仕様書である SQL英語であり仕様書である。と書いてきました。 SQLは、プログラム(アルゴリズム)を組むことができない文系の事務員が、英語的記述で書けば結果が得られるというものです。SQL文中にアルゴリズムは存在しません。 例えば、次のようなテーブルをご用意ください。 TEST_TABLE ID NUMBER 主キー NAME VARCHAR(20) IDに1から1,000,000 NAME 名前のテストデータ この100万件のデータが入ったこのテーブルを 1) SELECT * FROM TEST_TABLE WHERE ID = 1 2) SELECT * FROM TEST_TABLE WHE

    NoSQLとSQLについて - SQLer 生島勘富 のブログ
    aki77
    aki77 2010/06/22
  • LIKE検索は使ったらダメな場合もある - 全文検索について - SQLer 生島勘富 のブログ

    SQLのLIKE検索は非常に便利です。しかし、データ量によっては使ってはいけません。 例えば、 WHERE 備考 LIKE '%大阪%' とすれば備考欄に'大阪'が含まれているレコードをすべて取得することが可能ですが、当然、インデックスは使えません。必ずテーブルをフルスキャンすることになります。 そもそも、LIKE検索をするような項目はデータ量が多く、数百Byteから数千Byteの領域を取っていることもあるでしょう。RDBMSのデータに対するアクセスは、カラム単位でもレコード単位でもなく、ブロック(ページ)単位になりますので、レコード数によっては非常に大量のアクセスが発生します。 ブロック単位のアクセスはデータの入り方によって何とも言えないので、レコード長で考えるとすると、数百〜2000Byteのレコード長で1万件(数M〜20MByte)前後で、検索頻度が少ないのであればLIKE検索で十分

    LIKE検索は使ったらダメな場合もある - 全文検索について - SQLer 生島勘富 のブログ
    aki77
    aki77 2010/06/22
    『1万件までLIKE検索  →  数百万件までSQLで作り込み  →  数百万件を超えるとき、外付けのアプライアンス製品などを検討』
  • 1