當前位置:才華齋>IT認證>JAVA認證>

java工程師認證考試考點:資料庫服務區考點彙總

JAVA認證 閱讀(2.82W)

關於java認證考試,同學們知道資料庫及伺服器的知識點有哪些?下面跟yjbys小編一起來複習一下吧!

java工程師認證考試考點:資料庫服務區考點彙總

  (一)伺服器

1、web伺服器nginx和apache的對比分析

①nginx相對於apache的優點:

輕量級,同樣起web 服務,比apache 佔用更少的記憶體及資源 ,抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高效能,高度模組化的設計,編寫模組相對簡單。

apache相對於nginx 的優點:ite ,比nginx 的rewrite 強大;B.動態頁面,模組超多,基本想到的都可以找到;C.少bug ,nginx 的 相對較多;D.超穩定.

一般來說,需要效能的web 服務,用nginx 。如果不需要效能只求穩定,那就apache.

②作為 Web 伺服器:相比 Apache,Nginx 使用更少的資源,支援更多的併發連線,體現更高的效率。Nginx採用C進行編寫, 不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多.

③Nginx 配置簡潔,Apache 複雜。Nginx 靜態處理效能比 Apache 高 3倍以上,Apache 對 PHP 支援比較簡單,Nginx 需要配合其他後端用。Apache 的元件比 Nginx 多,現在 Nginx 才是Web 伺服器的首選。

④最核心的區別在於apache是同步多程序模型,一個連線對應一個程序;nginx是非同步的,多個連線(萬級別)可以對應一個程序。

⑤nginx處理靜態檔案好,耗費記憶體少.但無疑apache仍然是目前的主流,有很多豐富的特性.所以還需要搭配著來.當然如果能確定nginx就適合需求,那麼使用nginx會是更經濟的方式。

⑥nginx處理動態請求是雞肋,一般動態請求要apache去做,nginx只適合靜態和反向。

⑦Nginx優於apache的主要兩點:x本身就是一個反向代理伺服器 x支援7層負載均衡;其他的當然,Nginx可能會比 apache支援更高的併發。

  (二)資料庫

1、資料庫優化:

①方法:MySQL可以建分表,讀寫分離,建索引,一般經常更新的欄位不適合建索引,建索引會降低資料非查詢操作的效率。主鍵是一種特殊的索引。

②導致索引失效的情況:

A、如果條件中有or,即使其中有條件帶索引也不會使用到。

B、對於多列索引,不是使用的第一部分,則不會使用索引。

C、like查詢是以%開頭,而不是以%結尾的。

D、如果索引列型別是字串,一定要在條件中將資料使用引號引用起來,否則不使用索引。

E、如果mysql估計使用全表掃描要比使用索引快,則不使用索引。

2、MySQL引擎的種類和區別

①種類:MyISAM、InnoDB、MEMORY、MERGE、Archive、Blackhole、CSV、Federate、Merge、NDB叢集引擎,第三方引擎:OLTP類引擎、面向列的儲存引擎、社群儲存引擎。

②區別:

A、MyISAM是MySQL5.1及之前的預設儲存引擎。MyISAM不支援事務、也不支援外來鍵,但其訪問速度快,對事務完整性沒有要求。MyISAM表還支援3中不同的儲存格式

1 靜態表

2 動態表

3 壓縮表

B、InnoDB儲存引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是比起MyISAM儲存引擎,InnoDB寫的處理效率差一些並且會佔用更多的磁碟空間以保留資料和索引。 InnoDB儲存方式為兩種:1 使用共享表空間儲存 2 使用多表空間

C、MEMORY儲存引擎使用存在記憶體中的內容來建立表。每個MEMORY表只實際對應一個磁碟檔案。MEMORY型別的表訪問非常得快,因為它的資料是放在記憶體中的,並且預設使用HASH索引。但是一旦服務關閉,表中的資料就會丟失掉。

D、MERGE儲存引擎是一組MyISAM表的組合,這些MyISAM表必須結構完全相同。MERGE表本身沒有資料,對MERGE型別的表進行查詢、更新、刪除的操作,就是對內部的MyISAM表進行的。

3、資料庫事務

(1)四個特性:ACID,原子性,一致性,隔離性,永續性。

(2)四個隔離級別:

√: 可能出現 ×: 不會出現

髒讀不可重複讀幻讀
Read uncommitted
Read committed×
Repeatable read××
Serializable×××