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

學識都 人氣:4.85K

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

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

(一)服務器

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

①nginx相對於apache的優點:

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

apache相對於nginx 的優點:ite ,比nginx 的rewrite 強大;B.動態頁面,模塊超多,基本想到的都可以找到;C.少bug ,nginx 的bug 相對較多;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×××