偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL查詢優(yōu)化實(shí)例:銀行校園卡繳費(fèi)的性能優(yōu)化

數(shù)據(jù)庫(kù) SQL Server
本文我們通過(guò)某銀行校園卡繳費(fèi)的性能測(cè)試來(lái)介紹一下在開發(fā)應(yīng)用程序時(shí)設(shè)計(jì)SQL查詢優(yōu)化的一些思路,希望能夠?qū)δ兴鶐椭?/div>

在開發(fā)應(yīng)用程序時(shí),如果SQL查詢優(yōu)化的語(yǔ)句設(shè)計(jì)得不好,可能就會(huì)很嚴(yán)重地影響到應(yīng)用程序的性能。因此我們?cè)陂_發(fā)應(yīng)用程序時(shí),一定要慎用SQL的查詢語(yǔ)句,盡可能地把SQL查詢優(yōu)化做到***。

本文我們通過(guò)一個(gè)實(shí)例來(lái)告訴大家在開發(fā)應(yīng)用程序及執(zhí)行SQL查詢優(yōu)化語(yǔ)句時(shí)的一些思路,實(shí)例如下:在某銀行做校園卡繳費(fèi)的測(cè)試過(guò)程中,發(fā)現(xiàn)成功繳費(fèi)時(shí)間很長(zhǎng),大約需要75秒左右,原因分析:在做校園卡繳費(fèi)的時(shí)候,首先是從數(shù)據(jù)庫(kù)中查詢到需要繳費(fèi)的費(fèi)項(xiàng),然后再對(duì)該費(fèi)項(xiàng)進(jìn)行繳費(fèi),繳費(fèi)成功后修改相應(yīng)的狀態(tài),交易完成后,查看日志,發(fā)現(xiàn)下面的查詢語(yǔ)句執(zhí)行時(shí)間很長(zhǎng),在數(shù)據(jù)庫(kù)中執(zhí)行時(shí)間大約74.516秒,可見幾乎所有的時(shí)間都花在查詢上。

 

  1. select b.stu_id, b.term_id, b.cost_code  
  2.  
  3. from bib_booking_student_info a, bib_booking_fee_info b  
  4.  
  5. where a.busi_id = b.busi_id  
  6.  
  7. and a.corp_id = b.corp_id  
  8.  
  9. and a.term_id = b.term_id  
  10.  
  11. and a.stu_id = b.stu_id  
  12.  
  13. and b.stu_stat = '0' 
  14.  
  15. and a.busi_id = '100104' 
  16.  
  17. and a.corp_id = 'E000000059' 
  18.  
  19. and a.term_id = '0101' 
  20.  
  21. and a.stu_id = '59000030'

 

解決辦法,優(yōu)化此SQL語(yǔ)句(說(shuō)實(shí)話,這個(gè)SQL寫得真不好,只是實(shí)現(xiàn)了功能,完全沒有考慮性能,尤其當(dāng)數(shù)據(jù)庫(kù)大的時(shí)候),下面是優(yōu)化后的SQL語(yǔ)句:

 

  1. select b.stu_id, b.term_id, b.cost_code  
  2.  
  3. from bib_booking_fee_info b  
  4.  
  5. where b.stu_stat = '0' 
  6.  
  7. and exists( select 1 from bib_booking_student_info a where  
  8.  
  9. a.corp_id = b.corp_id  
  10.  
  11. and a.term_id = b.term_id  
  12.  
  13. and a.stu_id = b.stu_id  
  14.  
  15. and a.busi_id = b.busi_id  
  16.  
  17. and a.busi_id = '100104' 
  18.  
  19. and a.corp_id = 'E000000059' 
  20.  
  21. and a.term_id = '0101' 
  22.  
  23. and a.stu_id = '59000030' 
  24.  

此語(yǔ)句執(zhí)行時(shí)間只有0.219秒,快了很多很多。

總結(jié):在類似于這種交易,先查詢?cè)倮U費(fèi)(改變字段狀態(tài))的交易,執(zhí)行查詢時(shí)間的多少直接影響到此交易的性能。假如只是做插入,不做查詢的交易,這種交易一般都很快,有查詢,然后再繳費(fèi)(改變字段狀態(tài))的交易,如果響應(yīng)時(shí)間很慢,那需要在查詢SQL語(yǔ)句上進(jìn)行優(yōu)化了。

關(guān)于SQL查詢優(yōu)化的知識(shí)就介紹這么多,希望能夠帶給您一些收獲吧!

【編輯推薦】

  1. 談一談Oracle WDP計(jì)劃和Oracle認(rèn)證
  2. 關(guān)于Oracle利用UTL_INADDR注入的簡(jiǎn)單介紹
  3. 登陸Oracle 10g控制臺(tái)時(shí)提示IO失常錯(cuò)誤的解決方案
  4. Oracle數(shù)據(jù)庫(kù)中各種類型的文件損壞與修復(fù)過(guò)程詳解
  5. 簡(jiǎn)單介紹一下Oracle ERP上線后的迅捷管教和新功能
責(zé)任編輯:趙鵬 來(lái)源: CSDN博客
相關(guān)推薦

2021-06-10 09:40:12

C++性能優(yōu)化Linux

2018-06-07 08:54:01

MySQL性能優(yōu)化索引

2010-10-21 10:56:29

SQL Server查

2010-10-21 11:10:57

SQL Server查

2018-01-09 16:56:32

數(shù)據(jù)庫(kù)OracleSQL優(yōu)化

2010-10-14 16:27:56

MySQL隨機(jī)查詢

2016-12-15 09:58:26

優(yōu)化SQL高性能

2017-07-12 13:04:23

數(shù)據(jù)庫(kù)SQL查詢執(zhí)行計(jì)劃

2021-07-16 23:01:03

SQL索引性能

2023-07-12 08:55:16

PawSQL數(shù)據(jù)庫(kù)

2023-09-25 13:15:50

SQL數(shù)據(jù)庫(kù)

2021-07-26 18:23:23

SQL策略優(yōu)化

2011-08-18 09:19:19

SQL Server的SQL查詢優(yōu)化

2018-09-11 08:40:00

前端JavaScriptt性能優(yōu)化

2025-01-20 08:00:00

AISQL Server數(shù)據(jù)庫(kù)

2020-11-23 10:50:27

MySQLSQL數(shù)據(jù)庫(kù)

2010-07-01 14:23:25

SQL Server查

2018-03-30 14:30:10

數(shù)據(jù)庫(kù)SQL語(yǔ)句性能優(yōu)化

2013-09-22 10:25:23

MySQLSQL性能優(yōu)化

2023-11-15 16:35:31

SQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)