やじゅ@アプリケーション・ラボ わんくま支局

目次

Blog 利用状況

ニュース

プロフィール

MSMVP

副問い合わせ(EXISTS)を使った更新(UPDATE)の注意

売上取り消し処理が遅いということで調査していたのですが、構文をみても単純である為、なかなか気がつきませんでした。

結局遅い原因として、副問い合わせ(EXISTS)を使った更新
(UPDATE)において、EXISTSの中に結合条件以外に外側の条件を含めていたため、処理に時間がかかっていたようです。

これにより、別の処理含めても1分→5秒になりました。作成時は件数が少なかったので気が付かなかったのかも知れませんが、反省を含めて掲載しておきます。
ちなみに私が作成したわけではないですが、すぐに気が付かなかったという点では知識不足だったわけです。

UPDATE T_JUCHU_H JH
SET
  KANRYO_KBN = '0'      -- 完了区分 0:未完了 1:完了
WHERE
    EXISTS  (
        SELECT 1
        FROM   T_URIAGE_M UM
  WHERE  UM.JUCHU_NO  = JH.JUCHU_NO
     AND   UM.JOTAI_KBN  = '0'
    --   AND JH.JOTAI_KBN = '0';  ← EXISTS の中にあると遅い
 )
 AND JH.JOTAI_KBN = '0'; ← EXISTS の外にすることで速くなった

一応Oracleですが、他のDBでも同じだと思うので気をつけましょう。


追記: 情報が不足してました。
インデックスは、JH.JUCHU_NOのみ、UM.JUCHU_NO と JOTAI_KBN はありません。

実行計画
consistent gets:SELECT(FOR UPDATE句有り)文 実行時のデータ要求
これ以外の項目はほぼ同じ値

EXISTS内: consistent gets 11657696
EXISTS外: consistent gets 1070

投稿日時 : 2008年4月28日 2:13

コメントを追加

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 9:38 中博俊

それおかしくないですか?
中にも外にもかかなければいけないですよ。

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 10:35 Streetw☆

条件を外に出したときは、
JH.JOTAI_KBNにインデックスがあればそれが使われるようになるので、
それで速くなったんでしょうか?
実行計画を見比べてみたんですが、インデックスがないときは
速度に大きく影響しそうな違いは見られませんでした。

>中にも外にもかかなければいけないですよ。
そもそも内に書くのは変だって思いますけど;、
両方になくても結果は同じじゃないですか?
#どきどきw

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 10:46 片桐

まず、JUCHU_NOってテーブルキー? インデックス?
で、JOTAI_KBNってテーブルキー?インデックス?
で、この2つで、テーブルキー?インデックス?

という情報がないとなんとも判断つかんです。SQL構文で言うなら、どっちでやっても同じだもの。外でやるほうが絞り込み2回に分かれるから、読む側が見落としをやりかねないからEXSITS文使うときには、さくっと1回で絞り込むことが多いんですけどね……

読んでいて思ったのは、早くなった原因が、TableScanからインデックススキャンに処理が変わったためなんだと予測したんで、だとするとキーが絶対に絡むとおもうのでその辺りの情報がほしいなぁ、なんて。

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 11:53 こあら

はじめてコメントさせて頂きます。
ときどき@itに出没しております、こあらと申します。

EXISTS句が実行される回数が違いませんか?

EXISTS内:100%
EXISTS外:JH.JOTAI_KBN = '0'のときだけ

インデックスについては同上。

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 12:58 やじゅ

おお、こんなにコメントが・・・

インデックスは、JH.JUCHU_NOのみ
UM.JUCHU_NO と JOTAI_KBN はありません。

>中にも外にもかかなければいけないですよ。
でも、中に書いたら、あきらかな速度低下があったし

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 13:11 Streetw☆

UM.JUCHU_NOにもインデックスないのですか~
すると、すごく非効率的な処理になってると思います(n×nの走査)。
効率だけで考えると、inner joinしてupdateする方が良さそうです。
というか、インデックス付けたいですw
速くなったのは、こあらさんの理由からですね!

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 13:45 やじゅ

実行計画を見てみました。

consistent gets:SELECT(FOR UPDATE句有り)文 実行時のデータ要求
これ以外の項目はほぼ同じ値

EXISTS内:
consistent gets 11657696
EXISTS外:
consistent gets 1070 

そりゃ遅いわなー

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 13:47 やじゅ

>UM.JUCHU_NOにもインデックスないのですか

インデックスを貼る予定ではいます。

# re: 副問い合わせ(EXISTS)を使った更新(UPDATE)の注意 2008/04/28 15:06 Streetw☆

こういうのって、最適化してくれないんですね。
でも、インデックスなくても速いですね~

作ってるときは気付かずに、使われてるところ見て初めて、
Σこんな遅いので使ってもらってたんですか!
ってときがたまにあります;(ごめんなさい)

# buy ivermectin pills http://stromectolabc.com/
ivermectin 10 mg 2022/02/08 2:44 Busjdhj

buy ivermectin pills http://stromectolabc.com/
ivermectin 10 mg

# generic ivermectin http://stromectolabc.com/
ivermectin 6 mg tablets 2022/02/08 9:31 Busjdhj

generic ivermectin http://stromectolabc.com/
ivermectin 6 mg tablets

# doxycycline monohydrate https://doxycyline1st.com/
order doxycycline online 2022/02/26 8:19 Doxycycline

doxycycline monohydrate https://doxycyline1st.com/
order doxycycline online

# clomid alcohol http://clomidfast.site/ 2022/04/12 12:58 Clomids

clomid alcohol http://clomidfast.site/

# I'm impressed, I have to admit. Rarely do I come across a blog that's both educative and entertaining, and let me tell you, you've hit the nail on the head. The issue is something that not enough men and women are speaking intelligently about. Now i'm v 2022/06/12 11:07 I'm impressed, I have to admit. Rarely do I come a

I'm impressed, I have to admit. Rarely do I come across a blog that's both educative
and entertaining, and let me tell you, you've hit the nail on the head.
The issue is something that not enough men and women are speaking intelligently
about. Now i'm very happy I stumbled across this during my hunt for something concerning this.

# lasix tablet https://buylasix.icu/
lasix uses 2022/06/24 17:10 LasixRx

lasix tablet https://buylasix.icu/
lasix uses

# clomiphene generic https://clomidonline.icu/ 2022/07/08 13:39 Clomidj

clomiphene generic https://clomidonline.icu/

# order prednisone online no prescription https://deltasone.icu/
where to buy prednisone in australia 2022/08/22 9:44 Prednisone

order prednisone online no prescription https://deltasone.icu/
where to buy prednisone in australia

# paxlovid buy https://paxlovid.best/
paxlovid package insert 2022/09/08 7:34 Paxlovid

paxlovid buy https://paxlovid.best/
paxlovid package insert

# treatment of ed https://ed-pills.xyz/
erectile dysfunction pills 2022/09/17 7:51 EdPills

treatment of ed https://ed-pills.xyz/
erectile dysfunction pills

# cheap antibiotic https://antibiotic.best/ 2022/10/08 3:48 Antibiotic

cheap antibiotic https://antibiotic.best/

# treatment for ed https://erectiledysfunctionpills.shop/ 2022/10/14 22:46 Erectile

treatment for ed https://erectiledysfunctionpills.shop/

# prednisone 5mg coupon https://prednisone20mg.icu/ 2022/10/15 13:18 Prednisone

prednisone 5mg coupon https://prednisone20mg.icu/

# free text dating services https://datingtopreview.com/
online single sites 2022/10/17 20:34 Dating

free text dating services https://datingtopreview.com/
online single sites

#  https://clomidforsale.site/ 2022/11/13 14:25 ForSale

https://clomidforsale.site/

# can you buy prednisone https://prednisonepills.site/
prednisone 5 mg tablet cost 2022/11/28 23:49 Prednisone

can you buy prednisone https://prednisonepills.site/
prednisone 5 mg tablet cost

# where can i buy prednisone without a prescription https://prednisonepills.site/
prednisone brand name 2022/11/30 0:55 Prednisone

where can i buy prednisone without a prescription https://prednisonepills.site/
prednisone brand name

# single women local https://datingsiteonline.site/
best singles dating site 2022/12/05 23:45 Tading

single women local https://datingsiteonline.site/
best singles dating site

# ed medication online https://edpills.science/
ed medications online 2023/01/07 8:44 Edpills

ed medication online https://edpills.science/
ed medications online

# new treatments for ed https://edpills.science/
best ed treatment 2023/01/07 13:47 EdPills

new treatments for ed https://edpills.science/
best ed treatment

# Read here. Best and news about drug.
https://canadianfast.com/
Comprehensive side effect and adverse reaction information. Medicament prescribing information. 2023/02/19 7:58 CanadaBest

Read here. Best and news about drug.
https://canadianfast.com/
Comprehensive side effect and adverse reaction information. Medicament prescribing information.

# Prescription Drug Information, Interactions & Side. Get here.
https://canadianfast.com/
drug information and news for professionals and consumers. Best and news about drug. 2023/02/19 18:34 CanadaBest

Prescription Drug Information, Interactions & Side. Get here.
https://canadianfast.com/
drug information and news for professionals and consumers. Best and news about drug.

# Undeniably believe that which you stated. Your favorite justification seemed to be on the net the simplest thing to be aware of. I say to you, I definitely get irked while people consider worries that they plainly don't know about. You managed to hit th 2023/02/23 1:09 Undeniably believe that which you stated. Your fav

Undeniably believe that which you stated. Your favorite justification seemed to
be on the net the simplest thing to be aware of. I say to you, I definitely get irked while
people consider worries that they plainly don't know about.
You managed to hit the nail upon the top as well as defined out the whole
thing without having side effect , people
could take a signal. Will likely be back to get more.
Thanks vacation on gozo

# Undeniably believe that which you stated. Your favorite justification seemed to be on the net the simplest thing to be aware of. I say to you, I definitely get irked while people consider worries that they plainly don't know about. You managed to hit th 2023/02/23 1:10 Undeniably believe that which you stated. Your fav

Undeniably believe that which you stated. Your favorite justification seemed to
be on the net the simplest thing to be aware of. I say to you, I definitely get irked while
people consider worries that they plainly don't know about.
You managed to hit the nail upon the top as well as defined out the whole
thing without having side effect , people
could take a signal. Will likely be back to get more.
Thanks vacation on gozo

# Undeniably believe that which you stated. Your favorite justification seemed to be on the net the simplest thing to be aware of. I say to you, I definitely get irked while people consider worries that they plainly don't know about. You managed to hit th 2023/02/23 1:10 Undeniably believe that which you stated. Your fav

Undeniably believe that which you stated. Your favorite justification seemed to
be on the net the simplest thing to be aware of. I say to you, I definitely get irked while
people consider worries that they plainly don't know about.
You managed to hit the nail upon the top as well as defined out the whole
thing without having side effect , people
could take a signal. Will likely be back to get more.
Thanks vacation on gozo

# Undeniably believe that which you stated. Your favorite justification seemed to be on the net the simplest thing to be aware of. I say to you, I definitely get irked while people consider worries that they plainly don't know about. You managed to hit th 2023/02/23 1:11 Undeniably believe that which you stated. Your fav

Undeniably believe that which you stated. Your favorite justification seemed to
be on the net the simplest thing to be aware of. I say to you, I definitely get irked while
people consider worries that they plainly don't know about.
You managed to hit the nail upon the top as well as defined out the whole
thing without having side effect , people
could take a signal. Will likely be back to get more.
Thanks vacation on gozo

# cheap doxycycline online - https://doxycyclinesale.pro/# 2023/04/21 17:38 Doxycycline

cheap doxycycline online - https://doxycyclinesale.pro/#

# buy generic prednisone online - https://prednisonesale.pro/# 2023/04/22 4:54 Prednisone

buy generic prednisone online - https://prednisonesale.pro/#

# 流行や人気モデルの最新情報など、憧れのブランド全部満載しております。 2023/05/05 18:11 Scoosmods

日本ロレックス時計コピー品ロレックスレプリカ、日本ロレックス時計のロレックスコピー品ロレックス時計,ロレックスレプリカ,ロレックスコピー,日本ロレックス,ROLEX,ロレックスオーバーホール,ロレックスレプリカ ,ロレックス修理,ロレックスミルガウス,ロレックス中古,ロレックスサブマリーナ,ロレックスデイトナ,ロレックス中古,ロレックスアンティーク, }}}}}}
https://www.kopijp.com/product/detail.aspx-id=7846.htm

# over the counter essentials login https://overthecounter.pro/# 2023/05/08 18:12 OtcJikoliuj

over the counter essentials login https://overthecounter.pro/#

# best otc ed pills: https://edpills.pro/# 2023/05/15 15:40 EdPillsPro

best otc ed pills: https://edpills.pro/#

# Paxlovid over the counter https://paxlovid.pro/# - buy paxlovid online 2023/07/02 17:34 Paxlovid

Paxlovid over the counter https://paxlovid.pro/# - buy paxlovid online

# ï»¿paxlovid https://paxlovid.life/# paxlovid india 2023/07/25 20:46 Paxlovid

paxlovid https://paxlovid.life/# paxlovid india

# Misoprostol 200 mg buy online https://cytotec.ink/# - Cytotec 200mcg price 2023/07/26 14:44 PillsFree

Misoprostol 200 mg buy online https://cytotec.ink/# - Cytotec 200mcg price

# farmacia online migliore 2023/09/24 20:39 Archieonelf

https://farmaciabarata.pro/# farmacias online baratas

# acquistare farmaci senza ricetta 2023/09/26 21:18 Archieonelf

https://farmaciaonline.men/# comprare farmaci online all'estero

# new ed pills 2023/10/07 16:11 BobbyAtobe

Their worldwide reach ensures I never run out of my medications. http://doxycyclineotc.store/# doxycycline order canada

# doxycycline 40 mg price 2023/10/07 17:22 GaylordPah

Always a seamless experience, whether ordering domestically or internationally. http://doxycyclineotc.store/# doxycycline 10mg tablets

# cheap erectile dysfunction https://edpillsotc.store/# - cheap erectile dysfunction pills 2023/10/07 21:15 EdPills

cheap erectile dysfunction https://edpillsotc.store/# - cheap erectile dysfunction pills

# medication for ed 2023/10/09 12:18 BobbyAtobe

A seamless fusion of local care with international expertise. https://doxycyclineotc.store/# doxycycline cream

# buy doxycycline 100mg cheap 2023/10/09 18:36 GaylordPah

Consistently excellent, year after year. https://doxycyclineotc.store/# doxycycline 100mg tablets

# ルイ ヴィトン 財布 エピ ヴィトン 2023/11/07 15:26 bcboycwwmp@live.com

配送も注文して次の日に届くし、丁寧で良心的にお手紙まで!しかも商品も思ってたより状態が良好でとても満足できる買い物ができました!
ルイ ヴィトン 財布 エピ ヴィトン https://www.bagtojapan.com/product/607.htm

# prednisone 50 mg coupon https://prednisonepharm.store/ cost of prednisone tablets 2024/01/20 15:53 Prednisone

prednisone 50 mg coupon https://prednisonepharm.store/ cost of prednisone tablets

# sweetie fox full video https://sweetiefox.pro/ - sweetie fox video
2024/03/06 20:25 SwitieFox

sweetie fox full video https://sweetiefox.pro/ - sweetie fox video

# aviator jogar https://aviatorjogar.online/ - jogar aviator Brasil
2024/03/12 20:55 BraAvia

aviator jogar https://aviatorjogar.online/ - jogar aviator Brasil

# gates of olympus demo türkçe - https://gatesofolympus.auction/ gates of olympus demo 2024/03/27 19:07 Olympic

gates of olympus demo türkçe - https://gatesofolympus.auction/ gates of olympus demo

# slot oyunlari https://sweetbonanza.bid/ - sweet bonanza 90 tl
2024/03/27 22:11 Bonanzaj

slot oyunlari https://sweetbonanza.bid/ - sweet bonanza 90 tl

# pin-up bonanza: https://pinupgiris.fun/ pin-up bonanza
2024/03/28 7:28 GirisUp

pin-up bonanza: https://pinupgiris.fun/ pin-up bonanza

# đánh bài trực tuyến https://casinvietnam.com/# - đánh bài trực tuyến
2024/04/17 16:07 Vietnam

đánh bài trực tuyến https://casinvietnam.com/# - đánh bài trực tuyến

# buy cytotec https://cytotec.club/ order cytotec online 2024/04/27 21:51 Cytotec

buy cytotec https://cytotec.club/ order cytotec online

タイトル
名前
URL
コメント