アカウント名:
パスワード:
64000件のデータで、もし無作為で1000件連続して解約データが含まれていたのであれば、解約率は99%越えてるはずです。なので元々解約者が多く含まれるようなデータなのか、解約者が並びやすい条件でソートしているのか、どちらかでしょう。
前処理でデータをソートしてそうなので年とか店とか、何か大きな節目があったんじゃなかろうか。
あとは、「無限ループとデッドロックを排除する」号令のもと、試行回数の上限にそれっぽい値をハードコードしてたとかそんな感じじゃないかと妄想してみる
勘定系でソートってあり得ない気が。
素人考えですけど、接続先が揃っているといちいちコネクション張り直さなくていいとかないんですかね?
そういう場合、通常は
・全件読み込んで振り分け処理。接続先毎のデータファイル作成・それを1ファイルずつ順に処理
という風にします。ソートは、うかつにつくるとメモリ足りなくなったりするし、まじめに(件数が多い時には)マージソートするように実装すると、結局振り分けするよりコストが高くなるので。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
面倒だから計算しないけど (スコア:4, 興味深い)
64000件のデータで、もし無作為で1000件連続して解約データが含まれていたのであれば、解約率は99%越えてるはずです。
なので元々解約者が多く含まれるようなデータなのか、解約者が並びやすい条件でソートしているのか、どちらかでしょう。
Re: (スコア:0)
前処理でデータをソートしてそうなので
年とか店とか、何か大きな節目があったんじゃなかろうか。
あとは、「無限ループとデッドロックを排除する」号令のもと、
試行回数の上限にそれっぽい値をハードコードしてたとか
そんな感じじゃないかと妄想してみる
Re:面倒だから計算しないけど (スコア:0)
勘定系でソートってあり得ない気が。
Re: (スコア:0)
素人考えですけど、接続先が揃っているといちいちコネクション張り直さなくていいとかないんですかね?
Re:面倒だから計算しないけど (スコア:1)
そういう場合、通常は
・全件読み込んで振り分け処理。接続先毎のデータファイル作成
・それを1ファイルずつ順に処理
という風にします。
ソートは、うかつにつくるとメモリ足りなくなったりするし、
まじめに(件数が多い時には)マージソートするように実装すると、
結局振り分けするよりコストが高くなるので。