タグ

2015年7月12日のブックマーク (3件)

  • SQLite3でdatetimeなTEXTをなるべく高速に探す - ポクポク

    研究でSQLiteを使ってる。ファイル1つでポータブル、受け渡しも楽だしバージョン管理もできるし割りと気に入ってる。 日付のデータを大量に扱うのが遅くて困ったので速くする方法を調べた。ちゃんとインデックスが効くようにしたい。 SQLite3 には、SQL99 の DATE や DATETIME に対応する日時を表す型は存在しません。SQLite3 で日時を扱う場合、Date And Time Functions で説明されている日付処理関数を使用し、TEXT 型や NUMERIC 型の列に日付データを作成します。 http://www.tamandua-webtools.net/sqlite3-date.html TEXTを使う場合では、YYYY-MM-DD HH:MM:SSみたいな書式の文字列を日付とみなす。 NUMERIC(INTEGER or REAL)はよくあるUnixエポックから

    SQLite3でdatetimeなTEXTをなるべく高速に探す - ポクポク
  • Dockerで複数デーモンを起動する手法をまとめてみる – HiLoTECH

    この話、 「Dockerでsupervisordを使わずに複数デーモンを起動する方法」 でも書いてるんだけど、調べたらほかにもいろいろ試行錯誤している人がいるので、網羅的にまとめなおしてみた。 ご存知のとおり、Dockerはコンテナ(仮想インスタンス)を立ち上げたあと、単一のフォアグラウンドプロセスを動かし続けないと自然終了してしまう。言い方に語弊があるかもしれないけど、簡単に言うと「デーモンをいくつも起動して、はい使おう」というわけにはいかないっつーことだ。 とはいえ、 じゃあデーモンとして動作するのが前提になってるアプリケーションはどうすりゃええねん 「postfixだけ」とか「MySQLだけ」とか二つ以上のデーモンを動作させたいときは? ということで 複数デーモンを起動しっぱなしにする方法 を追求しないといけない。 ここでは、複雑な順・個人的にはあまり好きじゃない順に流す。 Supe

  • RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita

    "Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に

    RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita