タグ

2016年10月17日のブックマーク (2件)

  • パフォーマンスを追求するためのSQLite設定

    パソコン関連の覚書き。コンピュータ・アーキテクチャ(プロセッサ・アーキテクチャ),機械学習(人工知能),金融工学が専門。コンピュータサイエンス(Computer Science)を学部と院で専攻した学生にとっては学術的に常識なことを記載しています。この分野の名著Hennessy&Patterson書と、米国学会ACM,IEEEの論文を論拠としています。東京大学大学院情報理工学系研究科修士(理一&工学士)。 私はVisualStudioで扱うC#からデータベースをなるべく高速に使うことを目的としてサーベイをしてきました。 結論からいうと、MySQLSQL ServerよりSQLiteが別格で高速です。SQLiteの欠点はセキュリティ機能がないこと。つまりログイン機能がありません。複数のアクセス主体に対して権限付与やアクセス制御をする用途ではSQLiteは不向きです。 ですが私のように、時系

    パフォーマンスを追求するためのSQLite設定
    tomzz
    tomzz 2016/10/17
  • 【SQLite3】 ハイパフォーマンスなインデックスをつけるために覚えておくべきこと

    Tweet Tweet(この記事は旧ブログからの転載です。) 「インデックスは付いているはずなのに検索速度が遅い!」 ということはありませんか?わたしは見事にハマりました。 私の場合、個人使いがほとんどでシビアな性能が要求される web アプリなどを作っているわけではありません。 そんなこともあって、あまり細かいことは気にせず 「データベース検索の際のキーとなるカラムには適当にインデックスをつけておけばいいよなー」 程度に考えて CREATE INDEX ~ をしていました。 ところが、インデックスのつけかたにはいくつかの抑えておくべき点があったのです。 ここではいろいろ実験してみてわかったことを書いてみようと思います。 例題 2000×2000のランダムな行列をデータベースに格納し、要素にアクセスするような簡単な例題を考えてみます。 データベースは tbl というテーブルをもち、tbl

    【SQLite3】 ハイパフォーマンスなインデックスをつけるために覚えておくべきこと