中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL高頻面試題都是怎么樣的

發布時間:2021-10-09 14:25:59 來源:億速云 閱讀:134 作者:柒染 欄目:MySQL數據庫

本篇文章給大家分享的是有關MySQL高頻面試題都是怎么樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

唯一索引比普通索引快嗎, 為什么?

唯一索引不一定比普通索引快, 還可能慢。

  1. 查詢時, 在未使用limit 1的情況下, 在匹配到一條數據后, 唯一索引即返回, 普通索引會繼續匹配下一條數據, 發現不匹配后返回. 如此看來唯一索引少了一次匹配, 但實際上這個消耗微乎其微.

  2. 更新時, 這個情況就比較復雜了. 普通索引將記錄放到change buffer中語句就執行完畢了. 而對唯一索引而言, 它必須要校驗唯一性, 因此, 必須將數據頁讀入內存確定沒有沖突, 然后才能繼續操作. 對于寫多讀少的情況, 普通索引利用change buffer有效減少了對磁盤的訪問次數, 因此普通索引性能要高于唯一索引.

  3. 加q群:478052716 免費領取(Java架構資料,視頻資料,BATJ面試資料)

MySQL由哪些部分組成, 分別用來做什么

  1. Server

  2. 連接器: 管理連接, 權限驗證.

  3. 分析器: 詞法分析, 語法分析.

  4. 優化器: 執行計劃生成, 索引的選擇.

  5. 執行器: 操作存儲引擎, 返回執行結果.

  6. 存儲引擎: 存儲數據, 提供讀寫接口.

  7. 加q群:478052716 免費領取(Java架構資料,視頻資料,BATJ面試資料)

MySQL查詢緩存有什么弊端, 應該什么情況下使用, 8.0版本對查詢緩存有什么變更.

  • 查詢緩存可能會失效非常頻繁, 對于一個表, 只要有更新, 該表的全部查詢緩存都會被清空. 因此對于頻繁更新的表來說, 查詢緩存不一定能起到正面效果.

  • 對于讀遠多于寫的表可以考慮使用查詢緩存.

  • 8.0版本的查詢緩存功能被刪了 ( ̄. ̄).

MyISAM和InnoDB的區別有哪些

  • InnoDB支持事務, MyISAM不支持.

  • InnoDB支持行級鎖, MyISAM支持表級鎖.

  • InnoDB支持多版本并發控制(MVVC), MyISAM不支持.

  • InnoDB支持外鍵, MyISAM不支持.

  • MyISAM支持全文索引, InnoDB不支持(但可以使用Sphinx插件)

MySQL怎么恢復半個月前的數據

通過整庫備份+binlog進行恢復. 前提是要有定期整庫備份且保存了binlog日志.

MySQL事務的隔離級別, 分別有什么特點

  1. 讀未提交(RU): 一個事務還沒提交時, 它做的變更就能被別的事務看到.

  2. 讀提交(RC): 一個事務提交之后, 它做的變更才會被其他事務看到.

  3. 可重復讀(RR): 一個事務執行過程中看到的數據, 總是跟這個事務在啟動時看到的數據是一致的. 當然在可重復讀隔離級別下, 未提交變更對其他事務也是不可見的.

  4. 串行化(S): 對于同一行記錄, 讀寫都會加鎖. 當出現讀寫鎖沖突的時候, 后訪問的事務必須等前一個事務執行完成才能繼續執行.

做過哪些MySQL索引相關優化

  • 盡量使用主鍵查詢: 聚簇索引上存儲了全部數據, 相比普通索引查詢, 減少了回表的消耗.

  • MySQL5.6之后引入了索引下推優化, 通過適當的使用聯合索引, 減少回表判斷的消耗.

  • 若頻繁查詢某一列數據, 可以考慮利用覆蓋索引避免回表.

  • 聯合索引將高頻字段放在最左邊.

簡要說一下數據庫范式

  • 第一范式: 屬性不可再分.

  • 第二范式: 在一范式的基礎上, 要求數據庫表中的每個實例或行必須可以被惟一地區分. 通常需要為表加上一個列, 以存儲各個實例的惟一標識. 這個惟一屬性列被稱為主關鍵字或主鍵.

  • 第三范式: 在二范式的基礎上, 要求一個數據庫表中不包含已在其它表中已包含的非主關鍵字信息. 所以第三范式具有如下特征:1). 每一列只有一個值. 2). 每一行都能區分. 3). 每一個表都不包含其他表已經包含的非主關鍵字信息.

一千萬條數據的表, 如何分頁查詢

數據量過大的情況下, limit offset分頁會由于掃描數據太多而越往后查詢越慢. 可以配合當前頁最后一條ID進行查詢, SELECT * FROM T WHERE id > #{ID} LIMIT #{LIMIT}. 當然, 這種情況下ID必須是有序的, 這也是有序ID的好處之一.

訂單表數據量越來越大導致查詢緩慢, 如何處理

分庫分表. 由于歷史訂單使用率并不高, 高頻的可能只是近期訂單, 因此, 將訂單表按照時間進行拆分, 根據數據量的大小考慮按月分表或按年分表. 訂單ID最好包含時間(如根據雪花算法生成), 此時既能根據訂單ID直接獲取到訂單記錄, 也能按照時間進行查詢。

以上就是MySQL高頻面試題都是怎么樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永安市| 东丽区| 湟中县| 泰州市| 闸北区| 三河市| 安乡县| 湖口县| 融水| 资阳市| 莒南县| 孝义市| 东源县| 鄂托克前旗| 芮城县| 牟定县| 河东区| 沁源县| 望城县| 略阳县| 正蓝旗| 融水| 西盟| 历史| 涞水县| 长子县| 罗城| 北碚区| 许昌县| 慈溪市| 定兴县| 麻江县| 上高县| 临猗县| 红原县| 东乌珠穆沁旗| 鄂伦春自治旗| 新巴尔虎右旗| 克山县| 会泽县| 岐山县|