パスワードを忘れた? アカウント作成
583010 journal

mumumuの日記: 140000000 3

日記 by mumumu

1億4000万件のレコードがあるテーブルって正直やりづらいでつ(´ー`;)
インデックスを張ろうとしてもディスクは食うわ一日かかるわ、、
Java側でインチキしようとしても限界があるぞ藁

#とはいえ25秒までは持ってきた。もうひと頑張り。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 一億四千万ですか。なかなか豪快ですね。差しさわりが無ければ参考までに教えていただきたいのですけれど、DBMS と処理の種類は何ですか? (バッチとかオンライン系とか)

    • DBMSはDB2,処理の種類はオンライン系です。

      処理のベースとなるテーブルは1億4千万件のものと、あと300
      万件のものなのですが、件数の差、片方が巨大であることから、
      joinを使うとどうやってもコストがある程度高くなってしまう
      のが作業をやりづらくしていました。

      そこで300万件のテーブルで使うカラムは1個しかないのに目を
      つけ、テーブル構造を弄ってJoinを不要となるようにしました。あ
      とはJava側でのインチキで、、今のところ20秒です(´ー`;)
      --
      # 無精、短気、傲慢、これ最強
      • 随分早くなりましたね

        DB側のチューニングもある程度なされていると思いますが
        1億4千万件のテーブルにしろ、当該アプリが相手にする
        他のテーブルにしろ、テーブル実体を参照させないような
        インデックスの張り方や、インデックスの種類、
        DiskIO分散(可能ならパーティショニング)、
        パラレルクエリ等も確認されてはいかがでしょうか

        DB2, Java および当該システム構造上、どこまで
        できるかわかりませんけど…
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...