共有
  • 記事へのコメント31

    • 注目コメント
    • 新着コメント
    その他
    ryuichi1208
    3億行...うっ...

    その他
    lesamoureuses
    “ここで10倍以上早くなったことになります。 contentsテーブルへのインサートについては数十秒で終わっていたので、target_userテーブルへ2時間かかっていたということになります”

    その他
    pinkumohikan
    👀

    その他
    ouest
    インデックスは効果あるのか...

    その他
    mak_in
    個人的には、使い方雑なRDBのテーブルは、入れても100万行までかな、っていうざっくりな感覚があり、ここから先のRDBは性能含めちゃんと考える必要が出てくるので、面倒な時はもうNoSQL使っちゃう場合多いかな。

    その他
    mobius118_7
    当たり前の話をさも新発見のように書く。小学校の算数をやらずに中学数学を解こうとして筆算式を見つけたような話。

    その他
    quabbin
    そもそも、こんな大量のデータ投入は初期投入以外にはあまりないので、そこまで時間は気にならなかったり。初期投入以外で必要な場合は、DWHで対応できないかを考えたり、DB設計を見直したりするべきだ

    その他
    weakref
    新人っぽいから選べないんだろうけど、1憶レコード以上を想定する機械学習環境でMySQLを選定しちゃったことが根本原因だよね。会社としてブログの査読とかしないのかね…

    その他
    satosssi
    データ本体と同じ程度にインデックスがでかくなったテーブルを育てたことがあるからわかるよ😂

    その他
    hxs
    正規化でそんなに変わるのかぁ 1カラムのデータ量はそんなに大きくないのに

    その他
    taguch1
    load data 等のSQLパーサーを通さない取り込みとindexあたりであとは誤差って気がしてる。20年は変わってないからここら辺は落としどころが固定化されとるはず。

    その他
    d6rkaiz
    主要因は正規化の問題のような?

    その他
    ya--mada
    ya--mada インデックス張っててなんの工夫も無ければインサートが重いのは当然なので、最初の20時間という表現はある意味で盛り過ぎである。

    2022/12/31 リンク

    その他
    dorapon2000
    “1億行から2億行に増えたときには大体倍くらいの時間に増えているので妥当な感じがしていますが、3億行をインサートするときには何故か一気に時間が増えてしまっています。 これはインデックスのBツリーのリバラン”

    その他
    shikiarai
    shikiarai TLDRだけ読んで満足した。これ結局体験しないと覚えないよね。対処しないと思ってる10倍は遅くなるからね。

    2022/12/31 リンク

    その他
    theatrical
    theatrical 知ってた。と言えば知ってたけど、じゃあそれをブログに書いたり社会に有益になる形で発信したか?と言うとしていないので、してくれている彼らは素晴らしいと思う。

    2022/12/31 リンク

    その他
    findup
    インデックス剥がすの20年くらいの大昔から割と当たり前の選択肢にあったけど、最近はマシンパワーでぶん殴るからそう当たり前な事でもないってことなのかな。

    その他
    ed_v3
    よくやると思ってるけど、1億行だとインデックスの数とかによっては再作成の時間も結構かかりそう。どれくらい時間かかってるかが気になる。

    その他
    miquniqu
    いつか使うかも。

    その他
    nippondanji
    nippondanji 他のところから持ってこれる(壊れても良い)データなら、バイナリログだけでなくinnodb_flush_log_at_trx_commit=0もつけるともっと速くなるよ。あと、ソート用のスレッドとバッファを https://bit.ly/3IcYWFL https://bit.ly/3vq7hOX

    2022/12/31 リンク

    その他
    mayumayu_nimolove
    mysqlってそんな時間かかるのか

    その他
    dagama
    データ移行とかやったことあれば常識の知見だった

    その他
    aa_R_waiwai
    id:frkw2004 聞いててもパッと出てこないことは多いし、そもそもインサート後にまたインデックスを戻すってのも、スマートではない考えもある。インデックスを剥がさずに目的の時間に到達できてるなら、それで良い。

    その他
    sasasin_net
    20時間で諦めた件は、諦めず放っといたら何時間かかるのか気になります

    その他
    sigwyg
    インデックスだろうなと思ったらインデックスだった。

    その他
    tkmkg8m
    tkmkg8m バイナリログ無効化、LOAD DATA INFILE、正規化(これもインデックス削減効果疑惑)、インデックス無効化。なるほど。インデックスでインサート遅くなるのは知ってたけど、ここまで変わるもんなんだな。

    2022/12/30 リンク

    その他
    takuya_1st
    一次記憶メモリ128GB積んじゃおう

    その他
    frkw2004
    frkw2004 インデックスでselect処理が速くなる、って勉強した時に、その代わりinsertが遅くなる、って聞いてなかった? ORACLEもsqlサーバーも大量インサートで一時的にインデックスを無効にする手法は覚えておいた方がいい。

    2022/12/30 リンク

    その他
    x100jp
    必要になった時に、バカやる前にこういうエントリを思い出せますように。

    その他
    GENS
    GENS タイトル見てインデックスやろなあって見たらインデックスだった(MSSQLで同じ経験あり)。うちは一時テーブルにBulk Insertしてから本テーブルに差分反映させてる。

    2022/12/30 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    Bulk insertでも20時間以上かかっていたMySQLへのインサート処理を1時間以内にする - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2022の30日目の記事です。 前日は id:kijuky による チームメン...

    ブックマークしたユーザー

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む