Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DB呼び出し回数を減らしてコア機能を高速化した話

Tasuku Nakagawa
April 09, 2024
140

 DB呼び出し回数を減らしてコア機能を高速化した話

Tasuku Nakagawa

April 09, 2024
Tweet

Transcript

  1. Task / த઒ ক GitHub: T45K X (چTwitter): @getupmax ϒϩά:

    https://moneyforward-dev.jp/entry/2024/03/28/185934
  2. class ݸผमਖ਼ద༻αʔϏε( ࡒ຿ॾදϦϙδτϦ, ௨՟׵ࢉαʔϏε, ) { fun ద༻͢Δ(id) { val

    ࡒ຿ॾද = ࡒ຿ॾදϦϙδτϦ.selectById(id) // ݸผमਖ਼ͷద༻Λߦ͏ val ݸผमਖ਼ద༻ࡁࡒ຿ॾද = ... ࡒ຿ॾදϦϙδτϦ.update(ݸผमਖ਼ద༻ࡁࡒ຿ॾද) // ࣍ͷॲཧͷݺͼग़͠ ௨՟׵ࢉαʔϏε.׵ࢉ͢Δ(id)
  3. on duplicate key updateͰinsert ݪҼʢߋ৽ॲཧʣ צఆՊ໨A ౰ظ७རӹ 100 300 200

    צఆՊ໨B ౰ظ७རӹ 300 צఆՊ໨A 100 200 צఆՊ໨B ౰ظ७རӹ 300 צఆՊ໨A ౰ظ७རӹ 100 300 200 צఆՊ໨B ౰ظ७རӹ 300 insert select