回覆列表
-
1 # 資深IT老張
-
2 # ACME63610374577
1.選擇了Java就不要考慮執行效率.
2.SQL是描述...如果最終的執行者也是Java來執行那速度一樣慢...大部分資料庫都不是Java的...
3.SQL背後有多少臺機器真的不好說...可能是資料庫叢集...可能是大資料叢集...
-
3 # 三石科技觀察
使用SQL處理資料時,資料會在資料庫內直接進行處理,而且sql處理本身可以對sql語句做最佳化,按照最優的策略自動執行。
使用Java處理時,需要把資料從資料庫讀入到Java程式記憶體,其中有網路處理和資料封裝的操作,資料量比較大時,有一定的延遲,所以相對來說資料處理就慢一些。
當然,這個只是大體示意圖,實際根據業務不同會更復雜。
兩者側重的點不同,有各自適合的業務領域,需要根據實際情況選用合適的方式。
-
4 # GeCoder
因為sql是直接操作資料庫,java需要先與資料庫建立連線,在發指令到資料庫進行操作,因此速度肯定沒有sql快,但是sql不太擅長業務邏輯處理的操作,一般情況是用java來做業務邏輯的處理,然後呼叫sql對資料庫進行操作,或者透過nosql的技術來處理大資料高併發、大資料量的問題。
JAVA 與 .NET等 程式語言
它們是業務功能程式設計實現工具;
處理業務邏輯有先天性優勢;
程式語言類庫中擁有豐富的系統函式,開發效率高;
尤其是在SOA專案,大型綜合系統的開發中處於有利地位;
JAVA 與 .NET都提供了針對資料庫的驅動程式,他們操作資料庫是透過驅動程式中轉操作指令的,反應當然要慢一拍。
SQL程式語言SQL server 與 MySQL,Oracle,MongoDB, Redis 等資料庫
它們是資料庫
前三個是關係型資料庫,一般用來儲存業務資料,提供讀寫功能;
後2個是非關係型資料庫,人稱NoSQL資料庫,一般用來作為快取伺服器的軟體環境, 資料是以 JSON格式儲存的;
大資料處理如果有這方面的業務,如果是 java方向,Hadoop, Spark, Hive 將是操作利器;
如果是 .net 方向,則 SSIS, SSRS, SSAS 將是利刃。
總體來說, 第一類 程式語言 好比 SUV,擅長於跑高速, 跑的又快又遠;第二類程式語言,好比 挖機,擅長於 挖地基,挖牆角,挖的深打的牢。
當你要去外地娶親時,少不了 SUV; 當你要回老家做房子時,少不了 挖機。
(結束)