仕事の関係で、安く使えるRDB=Postgre/MySQL/SQliteの性能チェックをしてみたが、sqlite以外はあまり差が無いような結果になった。良く「MySQLはPostgreより早い」と聞くが、30万レコード程度の単純検索ではMySQLをInnoDBで作成した結果では、逆に遅いような結果になった。MyISAM形式にすると格段に早くなったので、Postgre vs MySQL-MyISAM の結果で「MySQLは早い」と、言われていたのかな?
Postgre/MySQLの早い/遅いも数倍程度なので殆ど誤差(?)みたいにしか見えないので、ライセンスが面倒なMySQLを使う理由は積極的にはなさそうに思えます。
驚くのは、Sqliteですね。MySQLのMyISAM形式と同等以上に早く、一々メンドクサイインストールも不要なので、小規模システムにはやはり最適ですね。
検索を早くするにはINDEXを設定すれば良いのは常識ですが、INDEXをどのように作成するか。。。INDEX が有るとINSETが遅い。。とか、結構気をつかうので。。。。面倒なので、何もしなくても「早い」のがベストです。その意味で、Sqliteが個人的には(小規模なら)一番良いですね。
(PS)
検索だけするなら、一々テーブルを作成してsql文で検索を実行するより、「全文検索」システムが便利でよほど早そうです(GoogleやYahooの検索システムは巨大なデータを扱うのでRDBでは無いようですが、それでも高速に検索できます)。
全文検索の性能が高いなら、Diskやメモリーも十分有るなら、ある意味ガチガチなRDBを使うより、結果的に良いかなと
思うこの頃です。
怪物君 的に言えば「全文検索 サイコー」
Postgre/MySQLの早い/遅いも数倍程度なので殆ど誤差(?)みたいにしか見えないので、ライセンスが面倒なMySQLを使う理由は積極的にはなさそうに思えます。
驚くのは、Sqliteですね。MySQLのMyISAM形式と同等以上に早く、一々メンドクサイインストールも不要なので、小規模システムにはやはり最適ですね。
検索を早くするにはINDEXを設定すれば良いのは常識ですが、INDEXをどのように作成するか。。。INDEX が有るとINSETが遅い。。とか、結構気をつかうので。。。。面倒なので、何もしなくても「早い」のがベストです。その意味で、Sqliteが個人的には(小規模なら)一番良いですね。
(PS)
検索だけするなら、一々テーブルを作成してsql文で検索を実行するより、「全文検索」システムが便利でよほど早そうです(GoogleやYahooの検索システムは巨大なデータを扱うのでRDBでは無いようですが、それでも高速に検索できます)。
全文検索の性能が高いなら、Diskやメモリーも十分有るなら、ある意味ガチガチなRDBを使うより、結果的に良いかなと
思うこの頃です。
怪物君 的に言えば「全文検索 サイコー」