999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C++與Java的數據庫操作比較

2018-12-08 07:02:40許石昌
網絡安全技術與應用 2018年12期
關鍵詞:數據庫效率語言

◆邵 嵐 許石昌 呂 健

C++與Java的數據庫操作比較

◆邵 嵐 許石昌 呂 健

(CLO 北京 100000)

數據庫的操作速度是相關產品性能的主要衡量指標,不同語言對數據庫的操作速度也不盡相同。本文通過對C++和Java兩種語言對數據庫的不同操作,編寫測試用例,執行DQL(數據庫查詢語言)和DML(數據庫操縱語言)語句訪問ORACLE數據庫,通過對比執行效率來分析兩種語言的優劣,進而指導我們對編程語言的選擇。

性能測試;編程語言;SQL語句

0 引言

隨著計算機技術不斷發展,各種編程語言也隨著發展,使當今的大多數程序開發人員可以擺脫枯燥無味的計算機指令或匯編語言開發軟件,而是利用一系列高效的、面向對象的語言去開發軟件,從而達到事半功倍的效果,C++和Java是如今使用最多、最為流行的兩種編程語言,本文使用兩種語言進行程序開發,編寫測試用例,執行DQL(數據庫查詢語言)和DML(數據庫操縱語言)語句訪問ORACLE數據庫,通過對比執行效率來分析兩種語言的優劣,進而指導我們對于編程語言的選擇。

1 簡介

1.1 Java語言

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點 。

1.2 C++語言

C++ 是一種靜態類型的、編譯式的、通用的、大小寫敏感的、不規則的編程語言,支持過程化編程、面向對象編程和泛型編程。C++ 被認為是一種中級語言,它綜合了高級語言和低級語言的特點。

C++ 完全支持面向對象的程序設計,包括面向對象開發的四大特性:封裝,抽象,繼續,多態。標準的 C++ 由三個重要部分組成:核心語言,提供了所有構件塊,包括變量、數據類型和常量等;C++ 標準庫,提供了大量的函數,用于操作文件、字符串等;標準模板庫(STL),提供了大量的方法,用于操作數據結構等。

2 測試環境

(1)硬件環境

CPU型號:Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz

服務器配置:4*8core

內存大小:256G

(2)軟件環境

數據庫軟件:Oracle 11.2.0.4 版本集群數據庫軟件

操作系統:Red Hat Enterprise Linux Server release 6.5 (Santiago)

Java:ojdbc6.jar(Oracle的官方驅動)、JDK版本1.8.0_181

C++: glibc版本2.12-1.132.el6.x86_64

(3)測試內容

本文使用Java和C++語言進行程序開發,編寫測試用例,執行DQL(數據庫查詢語言)和DML(數據庫操縱語言)語句訪問ORACLE數據庫,通過對比執行效率來分析兩種語言的優劣,進而指導我們對于編程語言的選擇。

3 測試數據

我們的測試就是使用Oracle11g的數據庫連接池Connection Pool而進行的,具體操作是在Linux操作系統層面通過主線程創建多個子線程,并且由各個子線程分別連接數據庫,然后對數據庫進行插入、刪除、更新和查詢等操作,操作完成后關閉連接。線程數為10個,數據庫表在每個線程上的SerialID不同。

以下所有測試過程,C++程序與Java程序都執行相同的數據庫操作。

3.1 Insert測試

測試說明:

(1)清空數據庫表。

(2)對數據庫表進行插入操作,其表的DetailID字段順序增長,其余字段固定不變。插入的條目數量分別為1萬條,10萬條,50萬條和100萬條。

(3)每插入一次數據,進行一次Commit操作。

測試結果如表1、圖1所示。

表1 Insert測試結果 單位:毫秒

圖1 Insert測試結果

結論:

(1)C++語言對于數據庫Insert操作效率整體略優于Java語言。

(2)隨著Insert的數據量增長,兩種語言程序的執行時間也基本呈線性增長。

3.2 Select測試

測試說明:

(1)數據庫表中的記錄為1000000條。

(2)對數據庫表進行查詢操作,其表的SerialID字段和DetailID字段做為查詢條件,且為主鍵。查詢的數量分別為1000條,1萬條,10萬條和50萬條。查詢結果為部分成功。

測試結果如表2、圖2所示。

表2 Select測試結果 單位:毫秒

圖2 Select測試結果

結論:

(1)C++語言對于數據庫Select操作在查詢數據較小時,優于Java語言,在大數據量訪問時,兩種語言性能相當。

(2)隨著Select的數據量線性增長,Java語言時間增長優于線性增長。

3.3 Update測試

測試說明:

(1)數據庫表中的記錄為1000000條。

(2)對數據庫表進行更新操作,表的TotalMoney字段為傳入參數,SerialID字段和DetailID字段為更新條件,且為主鍵。更新的條目數量分別為1000條,1萬條,10萬條和50萬條。

(3)每更新一次數據,進行一次Commit操作。

測試結果如表3、圖3所示。

表3 Update測試結果 單位:毫秒

圖3 Update測試結果

結論:

(1)對于數據庫Update操作,C++語言性能與Java語言相當。

(2)隨著Update的數據量增長,兩種語言程序的執行時間也基本呈線性增長。

3.4 Delete測試

測試說明:

(1)數據庫表中的記錄為1000000條。

(2)對數據庫表進行刪除操作,表的SerialID字段和DetailID字段為刪除條件,且為主鍵。刪除的條目數量分別為1000條,1萬條,5萬條和10萬條。

(3)每插入一次數據,進行一次Commit操作。

測試結果如表4、圖4所示。

表4 Delete測試結果 單位:毫秒

圖4 Delete測試結果

結論:

(1)對于數據庫Delete操作,C++語言性能優于Java語言。

(2)隨著Delete的數據量增長,兩種語言程序的執行時間也基本呈線性增長。

3.5 全業務測試

測試說明:

(1)清空數據庫表。

(2)對數據庫表進行查詢、插入、更新操作。其中查詢和更新對應一個相同的表,而插入對應另一個不同的表。測試的條目數量分別為1000條,10000條,50000條和100000條。

(3)每進行一次查詢、插入、更新操作,執行一次Commit操作。

測試結果如表5、圖5所示。

表5 全業務測試結果 單位:毫秒

圖5 全業務測試結果

結論:

(1)對于數據庫全業務操作,C++語言性能優于Java語言。

(2)隨著操作的數據量增長,兩種語言程序的執行時間也基本呈線性增長。

4 結論

在本文環境下,我們分別對數據庫的不同操作進行了測試,包括插入操作,查詢操作,更新操作,刪除操作和全業務操作(查詢,插入和更新,其中查詢和更新對應同一個表,插入對應另一個表);其中插入、更新、刪除和全業務測試使用多線程技術作了循環Commit(每個數據庫條目操作提交一次)測試,

從測試數據中,可以看出C++語言在對相對較少的數據操作時,通常在10000條數據以內,都具有明顯效率優勢。隨著數據庫操作數量的增長,兩種語言的效率逐漸趨于相同,在數據庫操作數量很大時,Java對數據庫的操作效率甚至會超越C++語言。但是在全業務操作上,C++的效率幾乎是Java的兩倍。

性能:通過不同操作的多種組合測試,我們發現對于單個批量操作的循環提交,Java明顯不如C++,在全業務的批量操作循環提交中,C++更是達到了Java 的兩倍。

易用性:Java使用的人最多,且網上文檔多,操作方便,C++用起來比較麻煩點。

前途:目前的實際業務操作中,全業務操作和循環提交是更為經常使用的,因此C++在Oracle數據庫的實際使用效率上更勝一籌。

注:當使用不同的硬件環境和軟件環境進行測試時,測試結果會有所不同。

猜你喜歡
數據庫效率語言
提升朗讀教學效率的幾點思考
甘肅教育(2020年14期)2020-09-11 07:57:42
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
數據庫
財經(2017年2期)2017-03-10 14:35:35
累積動態分析下的同聲傳譯語言壓縮
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
我有我語言
跟蹤導練(一)2
主站蜘蛛池模板: 国产尤物jk自慰制服喷水| 免费毛片视频| 精品免费在线视频| 国产91视频观看| 熟女日韩精品2区| 亚洲无卡视频| 亚洲bt欧美bt精品| 欧美成人综合在线| 永久免费无码成人网站| www欧美在线观看| 国产欧美日韩精品第二区| 欧美亚洲综合免费精品高清在线观看| 国产精品免费露脸视频| 色综合手机在线| 香蕉在线视频网站| 午夜日b视频| 91精品aⅴ无码中文字字幕蜜桃| 国产美女精品一区二区| 精品视频一区二区观看| 国产精品女主播| 欧美日韩国产精品va| 亚洲视屏在线观看| 亚洲无限乱码一二三四区| 永久免费AⅤ无码网站在线观看| 亚洲色图欧美激情| 国产视频 第一页| 97国产精品视频自在拍| 亚洲一区毛片| 日韩一级二级三级| 色欲色欲久久综合网| 台湾AV国片精品女同性| 3D动漫精品啪啪一区二区下载| 国产欧美又粗又猛又爽老| 免费看久久精品99| 一本大道香蕉久中文在线播放| 亚洲综合极品香蕉久久网| 乱人伦中文视频在线观看免费| 国产91成人| 国产毛片高清一级国语 | 成人亚洲国产| 国产精品福利一区二区久久| 激情無極限的亚洲一区免费| 国产91无毒不卡在线观看| 欧美在线天堂| 欧美翘臀一区二区三区| 欧美专区在线观看| 色亚洲成人| 日本不卡在线视频| 怡春院欧美一区二区三区免费| 无码一区18禁| 国产 在线视频无码| 911亚洲精品| 极品性荡少妇一区二区色欲| 中文无码日韩精品| 99久久精品无码专区免费| 最新国产高清在线| 99爱视频精品免视看| 日韩欧美中文字幕在线韩免费| 日本一本在线视频| 亚洲国产成人久久精品软件| 欧美成人在线免费| 国产农村精品一级毛片视频| 国产精品白浆在线播放| 久久性妇女精品免费| 国产精品久久久久鬼色| 永久在线精品免费视频观看| 色综合久久综合网| 91福利免费视频| 91色综合综合热五月激情| 日韩123欧美字幕| 黄色网站不卡无码| 91免费国产高清观看| 2020国产精品视频| 极品私人尤物在线精品首页| 亚洲人成在线免费观看| 国产男女免费视频| 国产成人精品一区二区三在线观看| 亚洲中久无码永久在线观看软件| 九九九国产| 色综合久久久久8天国| 国产资源免费观看| 亚洲bt欧美bt精品|