タグ

indexに関するyukimori_726のブックマーク (10)

  • B-treeインデックス入門 - Qiita

    B-treeがMySQLで使用されている背景から、B-treeインデックスの構造、そしてそれに基づいたインデックスの使用方法の入門編です。以下の流れに沿ってまとめていきます。 インデックスってなに? B-treeってなんでインデックスに使われているの? B-treeインデックスの構造 インデックスの使用方法 ※ 勉強をかねてまとめていることもあり、間違っている箇所がございましたら教えていただけると嬉しいです。 インデックスってなに? 全体の内容の中から特定部分を探すために使用する、の索引のような概念のことです。これを用いることで、検索を高速化することができます。 特定の項目がのどこに載っているかを確認するために索引を調べることで、全ページを順に調べなくても、その項目が登場するページ番号がわかる MySQLのストレージエンジンでも、インデックスが同様の方法で利用されており、インデックスの

    B-treeインデックス入門 - Qiita
  • Apacheチューニング,MySQLチューニングなどWebサイト高速化(tuning) Tips| インターオフィス

    AWS活用支援 スタイルズでは、AWSパートナーとして、CloudShift(クラウドシフト)というブランドにて、既存システムのAWSへの移行、導入から、セキュリティ、監視・運用・保守、クラウドネイティブなサーバーレス開発など、AWS活用をワンストップで支援いたします。 AWS活用支援トップAWS活用支援 関連コラムAWS活用支援 導入事例

    Apacheチューニング,MySQLチューニングなどWebサイト高速化(tuning) Tips| インターオフィス
  • 第1回 Elastisearch 入門 インデックスを設計する際に知っておくべき事 | DevelopersIO

    今回、第1回目の Elasticsearch 入門という事で、今回は「インデックスを設計する際に知っておくべき事」というテーマにしてみました。ここでのインデックスの設計とは RDB のデータベースとかテーブル、ビューの設計に当たるところです。 Elasticsearch は RDB など他のデータベスに比べ、その設計方法も結構独特です。(と言うか同じ事を実現するにしても色々な方法が用意されていて、さらにアプリケーション要件〜システムアーキテクチャ、運用面など広い範囲が関わってくる)RDB との比較も交え解説していきます。 Index で分けるか? Type で分けるか? 例えば、商品情報を保存するインデックスの設計を考えてみましょう。いわゆるRDBの設計で言うところのテーブル設計ですね。おそらくRDBではアプリケーション要件のみが、その設計の中心になるはずです。例えば、商品名や説明、価格情

    第1回 Elastisearch 入門 インデックスを設計する際に知っておくべき事 | DevelopersIO
  • RDBにおけるキャッシュという考え方

    RDBの専門家として日々活動している中で気づいたことのひとつに、「RDBはデータへのアクセスの実装をインデックスに頼っているが、インデックスは全ての問題を解決できるほど万能ではない」ということがある。インデックスというのはとても強力な部品であり、その点には全く異論はない。だが、世の中の全ての問題(クエリ)を解決できるほど、柔軟性に富んだものではないということだ。RDBは、どのインデックスを使ってデータへアクセスするかということを、オプティマイザを用いて判断する。大抵のRDB製品では、オプティマイザはよい仕事をするので、インデックスとオプティマイザの組み合わせによって、ほとんどの問題に対応できる。だが、100%ではないのであり、そのようなケースがシステムの性能問題を引き起こしたり、プログラマ(アプリケーションの設計者)に、NoSQLへ完全に移行したり、クエリ高速化のために非正規化をすると言っ

    RDBにおけるキャッシュという考え方
  • MySQLインデックスの基礎 その2 : 2つのクエリの違いとオプティマイザの判断 | Yakst

    MySQLのインデックスを効果的に使う方法の第2弾。よく似た2つのクエリなのに、実際にはインデックスの使い方がそれぞれ異なることを通じて、オプティマイザがどのようにクエリの実行計画を立案するのか、そしてその結果どうインデックスが使われるのかを解説する。 前の記事では、ひとつのテーブルに対する様々なクエリを対象にして、インデックスのデザイン方法について議論しました。この記事ではより実世界に即した問題解決の例として、よく似ているにも関わらず、ひとつは適したインデックスを使い、もうひとつはフルテーブルスキャンをしてしまうという、2つのクエリを取り上げます。動作の違いはバグなのでしょうか?それとも想定された動きなのでしょうか?続きを読んでみてください! 対象のクエリ2つ # Q1 mysql> explain select col1, col2 from t where ts >= '2015-0

    MySQLインデックスの基礎 その2 : 2つのクエリの違いとオプティマイザの判断 | Yakst
  • 作って覚える転置インデックス、「検索エンジン自作入門」 - プログラマでありたい

    先行発売で、検索エンジン自作入門を購入しました。まだペラペラと眺めている状況ですが、これが非常に面白いです。 「検索エンジン自作入門」は、集めた文章をいかに整理するかをテーマとして扱っているです。整理するという意味は、検索エンジンを利用するというライフハック的な意味ではありません。整理する為の検索エンジン自体を自分で作ることで理解するという、極めて硬派なです。 「検索エンジン自作入門」とは? 「検索エンジン自作入門」は、未踏IT人材発掘・育成事業にスーパークリエータに認定された山田浩之氏と、Senna/groongaの開発者の末永匡氏の共著です。検索エンジンについて語らせたら、日でこれ以上の人たちはいないだろうという組み合わせです。ということで、内容は非常に濃いのですが、難しい内容を解りやすく解説されています。 一方で、扱っている内容は非常にマニアックです。下に目次付けておくので見て

    作って覚える転置インデックス、「検索エンジン自作入門」 - プログラマでありたい
  • サーバ大量構築時のキモ ~シリアルナンバーからIPアドレスを自動設定するスクリプト(Ubuntu編)~ | 俺的備忘録 〜なんかいろいろ〜

    CentOSも記述したので、こちらも同様に修正。 修正内容もCentOSのスクリプトと同様で、hostlistのキーとなる値をUUIDからシリアルナンバーに切り替えただけだ。 そのため、ここではスクリプトだけを記載する。 ●setip.sh #!/bin/sh function get_network() { local NETWORK="" local BROADCAST="" local NETMASK="" local IPADDR="$1" local MASKBIT="$2" local ip_array=(`echo "$IPADDR" | sed -e "s/\./ /g"`) local ip_index=0 while [ $ip_index -lt 4 ] do if [ "$MASKBIT" -lt 8 ] then MASK=$((256-2**$((8-MASKB

  • 『ちよろず。』 - 僕はこんなサイトで情報収集している

    昨日、"Share Your OPML"の紹介をしたこともあり、そして今日は"はてなスクリーンショット"っていう機能がリリースされたこともあり、今日は普段僕がどんなサイトを見て情報収集しているのか、晒してみたいと思います。とあるサービス開発者のIndexとして見てもらえればと思います。国内外必読サイトどんなに忙しくても、ココだけはチェックしているという所をご紹介。popurls.comdiggやらdel.icio.usやらfurlやらの最新のトップ記事(いわゆるrecent)のみをまとめて表示してくれる。TechCrunch昨日ご紹介したTop 100のNo.1、米国サービスレビューブログの最高峰。恐れ多くも僕はTechCrunchのような内容を目指してブログを書き始めました。GIGAZINE更新頻度とネタの新しさにはいつも頭が下がります。またGoogle系のニュースウォッチャーとしても必

  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
  • MySQLでindexを作っていておこられる場合は — RIKIMA.com

  • 1