日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql某个值连续出现的记录_MySQL-面试必备

發布時間:2024/9/3 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql某个值连续出现的记录_MySQL-面试必备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、常見MySQL數據庫面試題

1.事務四大特性(ACID)原子性、一致性、隔離性、持久性?

原子性

根據定義,原子性是指一個事務是一個不可分割的工作單位,其中的操作要么都做,要么都不做。即要么轉賬成功,要么轉賬失敗,是不存在中間的狀態!

一致性

根據定義,一致性是指事務執行前后,數據處于一種合法的狀態,這種狀態是語義上的而不是語法上的。

隔離性

根據定義,隔離性是指多個事務并發執行的時候,事務內部的操作與其他事務是隔離的,并發執行的各個事務之間不能互相干擾。

持久性

根據定義,持久性是指事務一旦提交,它對數據庫的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。

2.事務的并發?事務隔離級別,每個級別會引發什么問題,MySQL默認是哪個級別?

數據庫隔離級別,每個級別會引發什么問題,mysql默認是哪個級別 - 天劍含光 - 博客園?www.cnblogs.com

3.MySQL常見的三種存儲引擎(InnoDB、MyISAM、MEMORY)的區別?

InnoDB:支持事務處理,支持外鍵,支持崩潰修復能力和并發控制。如果需要對事務的完整性要求比較高(比如銀行),要求實現并發控制(比如售票),那選擇InnoDB有很大的優勢。如果需要頻繁的更新、刪除操作的數據庫,也可以選擇InnoDB,因為支持事務的提交(commit)和回滾(rollback)。

MyISAM:插入數據快,空間和內存使用比較低。如果表主要是用于插入新記錄和讀出記錄,那么選擇MyISAM能實現處理高效率。如果應用的完整性、并發性要求比 較低,也可以使用。

MEMORY:所有的數據都在內存中,數據的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對數據的安全性要求較低,可以選擇MEMOEY。它對表的大小有要求,不能建立太大的表。所以,這類數據庫只使用在相對較小的數據庫表。

4.MySQL的MyISAM與InnoDB兩種存儲引擎在,事務、鎖級別,各自的適用場景?

MyISAM特點

  • 不支持行鎖(MyISAM只有表鎖),讀取時對需要讀到的所有表加鎖,寫入時則對表加排他鎖;
  • 不支持事務
  • 不支持外鍵
  • 不支持崩潰后的安全恢復
  • 在表有讀取查詢的同時,支持往表中插入新紀錄
  • 支持BLOB和TEXT的前500個字符索引,支持全文索引
  • 支持延遲更新索引,極大地提升了寫入性能
  • 對于不會進行修改的表,支持 壓縮表 ,極大地減少了磁盤空間的占用

InnoDB特點

  • 支持行鎖,采用MVCC來支持高并發,有可能死鎖
  • 支持事務
  • 支持外鍵
  • 支持崩潰后的安全恢復
  • 不支持全文索引

MyISAM和InnoDB兩者的應用場景:
1) MyISAM管理非事務表。它提供高速存儲和檢索,以及全文搜索能力。如果應用中需要執行大量的SELECT查詢,那么MyISAM是更好的選擇。
2) InnoDB用于事務處理應用程序,具有眾多特性,包括ACID事務支持。如果應用中需要執行大量的INSERT或UPDATE操作,則應該使用InnoDB,這樣可以提高多用戶并發操作的性能。

但是實際場景中,針對具體問題需要具體分析,一般而言可以遵循以下幾個問題:
- 數據庫是否有外鍵?
- 是否需要事務支持?
- 是否需要全文索引?
- 數據庫經常使用什么樣的查詢模式?在寫多讀少的應用中還是Innodb插入性能更穩定,在并發情況下也能基本,如果是對讀取速度要求比較快的應用還是選MyISAM。
- 數據庫的數據有多大? 大尺寸傾向于innodb,因為事務日志,故障恢復。

5.查詢語句不同元素(where、jion、limit、group by、having等等)執行先后順序?

CSDN-專業IT技術社區-登錄?blog.csdn.net

6.什么是臨時表,臨時表什么時候刪除?

CSDN-專業IT技術社區-登錄?blog.csdn.net

7.MySQL B+Tree索引和Hash索引的區別?

由于 hash 索引結構的特殊性,其檢索效率非常高,索引的檢索可以一次定位,不像B-Tree 索引需要從根節點到枝節點,最后才能訪問到頁節點這樣多次的IO訪問,所以 Hash 索引的查詢效率要遠高于 B-Tree 索引。

可能很多人又有疑問了,既然 Hash 索引的效率要比 B-Tree 高很多,為什么大家不都用 Hash 索引而還要使用 B-Tree 索引呢?

任何事物都是有兩面性的,Hash 索引也一樣,雖然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性也帶來了很多限制和弊端,主要有以下這些。

(1)Hash 索引僅僅能滿足"=","IN"和"<=>"查詢,不能使用范圍查詢。 由于 Hash 索引比較的是進行 Hash 運算之后的 Hash 值,所以它只能用于等值的過濾,不能用于基于范圍的過濾,因為經過相應的 Hash 算法處理之后的 Hash 值的大小關系,并不能保證和Hash運算前完全一樣。 (2)Hash 索引無法被用來避免數據的排序操作。 由于 Hash 索引中存放的是經過 Hash 計算之后的 Hash 值,而且Hash值的大小關系并不一定和 Hash 運算前的鍵值完全一樣,所以數據庫無法利用索引的數據來避免任何排序運算; (3)Hash 索引不能利用部分索引鍵查詢。 對于組合索引,Hash 索引在計算 Hash 值的時候是組合索引鍵合并后再一起計算 Hash 值,而不是單獨計算 Hash 值,所以通過組合索引的前面一個或幾個索引鍵進行查詢的時候,Hash 索引也無法被利用。 (4)Hash 索引在任何時候都不能避免表掃描。 前面已經知道,Hash 索引是將索引鍵通過 Hash 運算之后,將 Hash運算結果的 Hash 值和所對應的行指針信息存放于一個 Hash 表中,由于不同索引鍵存在相同 Hash 值,所以即使取滿足某個 Hash 鍵值的數據的記錄條數,也無法從 Hash 索引中直接完成查詢,還是要通過訪問表中的實際數據進行相應的比較,并得到相應的結果。 (5)Hash 索引遇到大量Hash值相等的情況后性能并不一定就會比B-Tree索引高。

對于選擇性比較低的索引鍵,如果創建 Hash 索引,那么將會存在大量記錄指針信息存于同一個 Hash 值相關聯。這樣要定位某一條記錄時就會非常麻煩,會浪費多次表數據的訪問,而造成整體性能低下。

8.sql查詢語句確定創建哪種類型的索引?如何優化查詢?

mysql索引類型 normal, unique, full text?www.cnblogs.com

9.聚集索引和非聚集索引區別?

1、聚集索引一個表只能有一個,而非聚集索引一個表可以存在多個 2、聚集索引存儲記錄是物理上連續存在,而非聚集索引是邏輯上的連續,物理存儲并不連續。

10.有哪些鎖(樂觀鎖悲觀鎖),select 時怎么加排它鎖?

有哪些鎖(樂觀鎖悲觀鎖),select 時怎么加排它鎖??www.detechn.com

11.非關系型數據庫和關系型數據庫區別,優勢比較?

CSDN-專業IT技術社區-登錄?blog.csdn.net

12.數據庫三范式,根據某個場景設計數據表?

CSDN-專業IT技術社區-登錄?blog.csdn.net

13.數據庫的讀寫分離、主從復制,主從復制分析的 7 個問題?

CSDN-專業IT技術社區-登錄?blog.csdn.net

14.使用explain優化sql和索引?

SQL優化(三)-- 索引、explain分析?www.cnblogs.com

15.MySQL慢查詢怎么解決?

16.什么是 內連接、外連接、交叉連接、笛卡爾積等?

什么是內連接、外連接、交叉連接(笛卡爾積)? - 星然 - 博客園?www.cnblogs.com

17.mysql都有什么鎖,死鎖判定原理和具體場景,死鎖怎么解決?

CSDN-專業IT技術社區-登錄?blog.csdn.net

18.varchar和char的使用場景?

CSDN-專業IT技術社區-登錄?blog.csdn.net

19.mysql 高并發環境解決方案?

CSDN-專業IT技術社區-登錄?blog.csdn.net

20.數據庫崩潰時事務的恢復機制(REDO日志和UNDO日志)?

CSDN-專業IT技術社區-登錄?blog.csdn.net

二、MySQL性能調優

https://www.cnblogs.com/pengyunjing/p/6591660.html?www.cnblogs.com

總結

以上是生活随笔為你收集整理的mysql某个值连续出现的记录_MySQL-面试必备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。