6.27_JAVA_面試(被抽到了)

1.MYSQL支持的存儲引擎有哪些, 有什么區別 ??

? ? ? ? In-no-DB(默認):支持事務安全(數據庫運行時,能保證數據的一致性、完整性),支持表行鎖,支持物理和邏輯外鍵。占用磁盤空間大。

? ? ? ? MEMORY:只支持邏輯外鍵,只支持表鎖,不支持事務安全

????????My-I-SAM:只支持邏輯外鍵,只支持表鎖,不支持事務安全

? ? ? ?

2 了解過Mysql的索引嘛 ??

索引能幫助MySQL高效獲取數據。如果查找某個字段的話,MYsql查詢很慢,因為它是磁盤讀取以及時間復雜度是On,但是我們通過索引能夠大大加快尋找這個數據的速度。索引在Mysql的底層是構建了一個B+🌳,把這個字段的數據放進去了。

它底層是通過構建B+樹把建立的索引字段給納入進去了。

B和B+樹區別:

1??B每個節點都存儲數據,但B+只有葉子節點下一層存儲數據

B+樹非葉節點存的數據是這個數據指向的節點的最大值。如,上圖第二行第一個節點中的15指向的是第三行第一個節點的最大值15.

B樹的葉子節點為空節點。B+樹葉子節點保存的是數據。

3 索引的底層數據結構了解過嘛 ? ?

? ? ? ? 如上,123是同一個答案。

4 什么是聚簇索引什么是非聚簇索引 ?

InnoDB索引引擎中,分為二級索引和聚集索引。

聚集索引:數據和索引存到了一起,必須有,且只有一個。字段通常唯一

二級索引:數據和索引分開的。

聚集索引的葉子節點存儲的是行數據,但是二級索引存儲的是行數據的主鍵id、索引字段所對應的數據。不存行數據是為了減少數據量。可以有多個。

5 ?知道什么是回表查詢嘛 ??

要查詢的字段,不在構建的索引的字段之內。

通常一個二級索引,最后回到聚集索引的情況叫做會表。比如search * from user where name = 'Amy'? ? ? ? ? ? ?

其中name已經創立了二級索引,但是由于二級索引的葉子是主鍵ID,找不到*要查詢的name為Amy的數據的所有字段所對應的值,只能回到聚集索引表,故稱回表。?

6 ?索引創建原則有哪些?

1??一般對經常查詢,且數據量大的表建立索引。因為索引能大大加快查找速度。

2??如果搜的比較少,或者表很小的時候可以不建立索引。因為索引會消耗磁盤空間。

3??盡量使用字段空間小的做索引,比如char100比char10大,一般選char10做索引。

4??前綴檢索:如果要搜索的字段所對應的數據都比較大,比如字段“備注”里面存的數據都非常長。一般會只檢索字段前面的若干字符。

5??盡量采用區分度高的做索引,區分度越高,索引就越常用。

6??使用復合索引時不能跳過對應的條件。我們使用復合索引需要先創建復合索引,如果創建了INDEX(A,B,C,D),我們where A C B D,順序不同可以跑通,但是如果where BCD去掉了A,那么ABCD都跑不了。如果去掉了B,那么BCD都跑不了。這叫最左前綴匹配原則。很重要。

7??一般建立聯合索引,多放幾個常用的區分度達到額字段進去,避免索引到超出聯合索引包含的字段時回表。

8??一般常被where、group by、order by的字段建立索引。

7 知道什么是左前綴原則嘛 ?

同上。復合索引。可以順序不同,但是不能跳過

8 知道什么叫覆蓋索引嘛 ??

和回表相反。意思是我們要查的字段,包含在索引的字段之內

比如

CREATE INDEX idx_username ON users(username, email, age);//創建了索引,索引包含字段username、email、age
SELECT username, email FROM users WHERE username = 'john';//我們要查的字段是只有上述的username和email,被完全包含在了里面

9 索引是越多越好嘛? 什么樣的字段需要建索引, 什么樣的字段不需要 ??

索引不是越多越好,建立索引也會消耗空間,而且索引字段變多查找效率也會降低。

一般常被where、group by、order by的字段建立索引。不常用的不用建。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86768.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86768.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86768.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLOv13震撼發布:超圖增強引領目標檢測新紀元

YOLOV13最近發布了,速速來看。 論文標題:YOLOv13:融合超圖增強的自適應視覺感知的實時目標檢測 論文鏈接:https://arxiv.org/pdf/2506.17733 代碼鏈接:https://github.com/iMoonLab/yolov13 話不多說,直…

Docker錯誤問題解決方法

1. Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) https://zhuanlan.zhihu.com/p/24228872523 2. no configuration file provided: …

大模型在惡性心律失常預測及治療方案制定中的應用研究

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與方法 1.3 研究創新點 二、大模型技術概述 2.1 大模型基本原理 2.2 常見大模型類型及特點 2.3 大模型在醫療領域的應用現狀 三、心律失常的術前預測與準備 3.1 術前心律失常預測的重要性 3.2 大模型在術前預測中的應…

【視頻芯片選型】

一、邊緣 AI 芯片選型邏輯與未來趨勢 (一)嘉楠 K230、全志 V853、瑞芯微 RK3588 對比選型 核心場景適配 嘉楠 K230: 適合低功耗邊緣 AI場景,如智能家居中控(支持語音 視覺雙模態交互)、電池供電設備&#…

JavaScript---DOM篇

1. DOM 概念 文檔對象模型:將 HTML 文檔映射為樹形結構,JS 可通過 DOM 操作頁面。 2. 獲取元素 document.getElementById(id) document.querySelector(CSS選擇器) document.querySelectorAll() 獲取多個 3. 操作元素 屬性操作: element.getAt…

第三次課:實驗室安全用電

觸電的危害 觸電的方式 安全用電與預防措施 觸電急救 時間就是生命 安全自省 安全用電常識補充

NV064NV065美光固態閃存NV067NV076

美光NV系列固態閃存技術深度解析與應用指南 技術架構革新:垂直堆疊與浮柵技術的突破 美光NV系列固態閃存的核心競爭力在于其232層NAND閃存技術,通過垂直堆疊工藝將存儲單元層層疊加,如同在指甲蓋面積內構建超過200層“數據樓宇”&#xff0…

設計模式精講 Day 18:備忘錄模式(Memento Pattern)

【設計模式精講 Day 18】備忘錄模式(Memento Pattern) 文章內容 開篇 在“設計模式精講”系列的第18天,我們來探討備忘錄模式(Memento Pattern)。這是一種行為型設計模式,其核心思想是在不破壞封裝性的前…

SpringCloud系列(35)--使用HystrixDashboard進行服務監控

前言:在上一節中我們使用了Hystrix進行服務熔斷處理,至此關于Hystrix的使用到此為止,本節內容關注的是如何使用HystrixDashboard對調用進行監控。 1、HystrixDashboard概述 Hystrix提供的準實時的調用監控(HystrixDashboard),Hys…

爬蟲簡單實操2——以貼吧為例爬取“某吧”前10頁的網頁代碼

需求是將貼吧的【某個吧】里面【n頁】的網頁代碼爬取下來,保存至本地 首先我們要思考這個貼吧爬蟲的框架,要有方法可以構造url列表(就可以一次獲取多個url),能請求獲取相應,能把html保存到本地。 import …

webpack5 css-loader 配置項中的modules

在 Webpack 的 css-loader 中,modules 選項是一個核心配置,它直接關系到 CSS 的模塊化處理方式。下面從概念、原理、使用場景和實踐技巧四個方面詳細解析: 概念解析:CSS Modules 是什么? CSS Modules 是一種讓 CSS 類…

springboot+Vue駕校管理系統

概述 基于springbootVue開發的駕校管理系統。該系統采用主流技術棧開發,功能完善,既包含用戶端便捷的操作界面,又具備強大的后臺管理功能。 主要內容 一、用戶端功能模塊 ??核心功能導航??: 首頁展示駕校推薦信息及最新動態…

#華為鯤鵬#華為計算#鯤鵬開發者計劃2025#

#華為鯤鵬#華為計算#鯤鵬開發者計劃2025# <新版開發者計劃>的內容鏈接&#xff1a;鯤鵬開發者計劃2025-鯤鵬社區 通過學習畢昇編譯器整體介紹&#xff0c;以及安裝使用流程、新增特性、調優工具的使用及相關指導文件獲取&#xff0c;對畢異編譯器有了更深的認識。 我剛…

小程序學習筆記:聲明式導航的多種玩法

在小程序開發中&#xff0c;頁面導航是實現用戶流暢交互體驗的關鍵環節。今天&#xff0c;咱們就一起來深入學習小程序里通過聲明式導航實現頁面跳轉、切換 tab 頁、后退等功能的技巧&#xff0c;還會附上詳細代碼示例&#xff0c;讓大家輕松掌握&#xff01; 一、什么是頁面導…

Linux中《動/靜態庫原理》

目錄 目標文件ELF文件ELF從形成到加載輪廓ELF形成可執行readelf命令ELF可執行文件加載 理解連接與加載靜態鏈接ELF加載與進程地址空間虛擬地址/邏輯地址 重新理解進程虛擬地址空間 動態鏈接與動態庫加載進程如何看到動態庫進程間如何共享庫的動態鏈接動態鏈接到底是如何工作的&…

Android大圖加載優化:BitmapRegionDecoder深度解析與實戰

在移動端開發中&#xff0c;超大圖片加載一直是性能優化的難點。本文將深入剖析BitmapRegionDecoder原理&#xff0c;提供完整Kotlin實現方案&#xff0c;并分享性能調優技巧。 一、為什么需要大圖加載優化&#xff1f; 典型場景&#xff1a; 醫療影像&#xff1a;2000015000…

基于ApachePOI實現高德POI分類快速導入PostgreSQL數據庫實戰

目錄 前言 一、高德POI分類簡介 1、數據表格 2、分類結構 二、從Excel導入到Postgresql 1、Excel解析流程 2、Mybatis批量導入 3、數據入庫 三、總結 前言 在大數據與地理信息深度交融的當下&#xff0c;地理信息系統&#xff08;GIS&#xff09;的觸角已延伸至各個領域…

如何打造Apache Top-Level開源時序數據庫IoTDB

引言 數據與時間結合后&#xff0c;便擁有了生命。在金融、系統日志、工業產線和智能設備等領域&#xff0c;時序數據每毫秒都在不斷產生。管理這些海量時序數據需要專業的數據庫系統。時序數據庫產品正逐漸受到市場的關注&#xff0c;本文將分享如何通過開源的方式&#xff0…

高并發內存池實戰指南

項目源碼&#xff1a;https://gitee.com/kkkred/thread-caching-malloc 目錄 一、脫離new&#xff1a;高并發內存池如何替代傳統動態分配 1.1 new的痛點&#xff1a;碎片、延遲與鎖競爭 1.2 高并發內存池的替代方案&#xff1a;分層預分配無鎖管理 二、大內存&#xff08;…

基于springboot+vue的數字科技風險報告管理系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat12開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 系統展示 管理員登錄 管理…