ホーム > ISUCON > #isucon10 予選惨敗してきました

#isucon10 予選惨敗してきました

  • 投稿者: chiba
  • 2020/9/13 日曜日 12:12:28
  • ISUCON

今年もISUCON10に山形組として参加してきました。
結果はベストスコア(1400ぐらい)もボーダーに届かないまま、ギリギリまで修正をいれてfailで終了ということになりました。

できたこと

– nginxでbotに503
– app2台、db1台構成
– UPDATEのWHEREにstock > 0を追加してaffected rowsをみてbuyのFOR UPDATE外し
– recommendedを $w, $h, $dの昇順から2つとって(door_width >= %1 AND door_height >= %2) OR (door_height >= %2 AND door_width >= %1)に単純化
– nazotte検索をmysqlのPOINT型に変換してSPATIAL INDEXを貼ってクエリ一回で解決できるように
– 手当たり次第にindex
– index済みdumpデータを/initializeで読み込むように
– rangeId,priceId,widthIdみたいな検索をidで検索できるようにフィールド追加して変換

できなかったこと

– features検索にindexを効かせる施策。これは昇順sortしたidのカンマ区切り文字列にして完全一致検索にするものを実装したんだけどベンチ通らなくなってrollback。コードじゃなくてdumpデータがバグっていたのかも。

競技後気づいたこと

– CSV入稿時のbulk insert。普段の仕事では当たり前のようにやることなのに競技中は気づいてなかった。終わったあとに、ベンチの後半になると入稿のPOSTに時間がかかっていることに気づいて後悔
ORDER BY `popularity` DESC , `id` ASC 対策。discord#random でほかの参加者の解法をみていてなるほどなぁ…と。popularityをマイナスにしてASCにしてしまうのとかすごいなと思いました。

今回は時間が足りてなかったというよりも競技中に気づけていなかったことが致命傷だったようで知識不足や認識力不足を感じましたし、まだまだ学ばないといけないことがあるなと。今あらためてDBのインデックスに関する基礎を学べる本を読むべきだと感じました。

運営のみなさま

今回もとても楽しませていただきました。(そしてとても悔しいです!)
来年またあれば参加したいです。ありがとうございました。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
https://blog.everqueue.com/chiba/2020/09/13/892/trackback/
トラックバックの送信元リスト
#isucon10 予選惨敗してきました - へぼい日記 より

ホーム > ISUCON > #isucon10 予選惨敗してきました

検索
フィード
メタ情報

ページの上部に戻る