av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

在Oracle數據庫中處理數據的高并發響應

瀏覽:3日期:2023-11-27 14:04:33

某些系統可能對系統應付數據高并發的響應要求比較高 (如: 飛行航空訂票系統). 本文采用Oracle的lock table來解決此問題:

Procedure中關鍵code如下:

---------------------------------------

lock table tb_book_ticket in share mode;

...

insert into tb_book_ticket (id, scheduled_flight, ticket_no, book_time) values (ID.nextval, v_scheduled_flight, v_ticket_no, SYSDATE); -- mark1

... -- mark2

select count(*) into v_book_count from tb_book_ticket where scheduled_flight = v_scheduled_flight; -- mark3

if v_book_count <= v_book_max_count then

v_result := 'book successfully';

commit;

else

v_result := 'book unsuccessfully';

rollback;

end if;

return v_result;

-------------------------------------------------------------

以上有2個地方需注意:

1) 采用 lock table table_name in share mode 方式而非 lock table table_name in exclusive mode 提高并發性處理, 盡量減少不必要執行等待.

2) 按常規思路, 可能會將 mark1 與 mark3 順序交換, 但此舉不行

-------------------------------------------------------------

select count(*) into v_book_count from tb_book_ticket where scheduled_flight = v_scheduled_flight; -- mark3

... -- mark2

if v_book_count < v_book_max_count then

insert into tb_book_ticket (id, scheduled_flight, ticket_no, book_time) values (ID.nextval, v_scheduled_flight, v_ticket_no, SYSDATE); -- mark1

-- mark4

commit;

end if;

-------------------------------------------------------------

試想若 userA 執行到 mark4, 而同時 userB 執行到 mark3, 就可能會出現由于 userA 尚未commit 而導致 userB 訂到機票但實際沒有座位的情況。

若確希望使用常規邏輯來實現, 需要用到 Oracle 的表的讀鎖功能 (精細訪問策略), 而此非本文范圍, 且其對于SYS用戶無效。

標簽: Oracle 數據庫
主站蜘蛛池模板: 中文字幕影院 | 欧美精品久久久久 | 福利视频一区 | 色婷婷一区 | 午夜视频在线播放 | 天堂久久av| 国产欧美日韩一区二区三区 | 99久久99久久精品国产片果冰 | 毛片在线看看 | 国产精品永久免费 | 成人婷婷 | 伊人精品在线 | 欧美一区二区三区视频 | 国产高清在线精品一区二区三区 | 精品国产一区久久 | 欧美日韩最新 | av在线黄 | 亚洲精品一区二区网址 | 国产精品久久久久久久久免费丝袜 | 亚洲国产高清免费 | 欧美影院| 精品久久电影 | 精品国产青草久久久久福利 | 91精品国产91久久久久久吃药 | 欧美v在线 | 亚洲网在线 | 成人深夜福利 | 精品久久久久久久久久久 | 国产区视频在线观看 | jlzzjlzz欧美大全 | 亚洲视频 欧美视频 | 久久婷婷国产香蕉 | 天天综合天天 | 久久国产精品首页 | 国产精品欧美一区二区三区不卡 | 日本精品一区 | 超碰人人91| 成人二区 | 视频一区在线观看 | 欧美日韩在线一区二区 | 国产日韩精品久久 |