1. 程式人生 > >Java面試題整理--資料庫MySQL(一)

Java面試題整理--資料庫MySQL(一)

1)關係型和非關係型資料庫的區別?

關係型資料庫:是指採用了關係模型來組織資料的資料庫。可以理解成二維的excel表格,是一一對應關係。常見的關係型資料庫有:MySQL、Oracle、DB2、Microsoft SQL Server、Microsoft Access等;

非關係型資料庫:是指採用了沒有特定關係模型來組織資料的資料庫。可以理解成一對多的資料關係,比如MongoDB;

不同的資料型別各有優缺點:

關係型資料庫的優勢:

1.可以用SQL語句方便的在一個表以及多個表之間做非常複雜的資料庫查詢;

2.資料更新的開銷;

3.☆通過事務處理保持資料的一致性;

4.時間長,技術成熟,對於安全效能很高的資料訪問要求得以實現。

缺點:

1.資料讀寫必須經過sql解析,大量資料、高併發下讀寫效能不足;

2.為了保證資料的一致性,需要加鎖處理,影響併發操作;

3.無法適應非結構化的儲存,擴充套件困難;

4.大量資料集中到一臺服務區處理時,伺服器的負載大;

5.“阻抗失諧”,即資料庫中儲存的物件與實際的物件實體有一定的差別。

非關係型資料庫的優勢:

1.資料之間基於鍵值對儲存,資料之間沒有耦合性,便於水平擴充套件;

2.沒有多表連線查詢機制的限制,擴充套件性高;不需要經過SQL層的解析,效能非常高;

3.處理高併發、大批量資料的能力強;支援分散式叢集,負載均衡,效能高;

4.資料儲存於快取之中,查詢速度快;

5.解決了“阻抗失諧”問題;儲存格式多,初鍵值對格式外,還可儲存文件、圖片等格式;

缺點:

1.技術起步晚,維護工具以及相關資料有限;

2.不支援現有的sql工業標準;

3.沒有複雜的連線操作;沒有完整性約束,對於複雜業務場景支援較差;

4.事務處理能力弱。





  1. 技術起步晚,維護工具以及技術資料有限
  2. 不支援sql工業標準
  3. 沒有join等複雜的連線操作
  4. 事務處理能力弱
  5. 沒有完整性約束,對於複雜業務場景支援較差
  1. 技術起步晚,維護工具以及技術資料有限
  2. 不支援sql工業標準
  3. 沒有join等複雜的連線操作
  4. 事務處理能力弱
  5. 沒有完整性約束,對於複雜業務場景支援較差