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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Tasuku Nakagawa Tasuku Nakagawa
April 09, 2024
310

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

Avatar for Tasuku Nakagawa

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