@mysql索引

动态 列表
@wobushiliaojian

MySQL索引優化(萬字詳解)

前言 索引優化這四個字説實話我認為其實挺難理解的。看到這四個字我腦門上是:???? 索引還要優化嗎?調優SQL一般來説不就是看它有沒有走索引,沒走索引給它加上索引就好了嗎? 嗯,所以你是怎麼給它加索引的? 看SQL應該怎麼走索引撒! 那SQL是怎麼走索引的呢?又是怎麼判斷這條SQL會不會走索引呢? 我:…, 咱今天就來分析分析! 要是你還不瞭解MySQL底層的數據結構,建議你先看看MySQL數據結

wobushiliaojian 头像

@wobushiliaojian

昵称 阿紫

@boxuegu

分享會上狂吹MySQL的4大索引結構,沒想到大家的鑑賞能力如此的~~~~

文章內容整理自【博學谷狂野架構師】 索引(index)是幫助MySQL高效獲取數據的數據結構(有序)。在數據之外,數據庫系統還維護着滿足 特定查找算法的數據結構,這些數據結構以某種方式引用(指向)數據, 這樣就可以在這些數據結構 上實現高級查找算法,這種數據結構就是索引。 優缺點: 優點: 提高數據檢索效率,降低數據庫的IO成本 通過索引列對數據進行排序,降低數據排序的成本,降

boxuegu 头像

@boxuegu

昵称 博學谷狂野架構師

@journey_64224c9377fd5

MySQL原理

1、JDBC Connection實例是線程安全的嗎? Connection實例是線程安全的嗎? 能不能只創建一次,共享Connection對象? 答案是不能的, Connection不是線程安全的,他會在多線程環境下,導致數據庫操作的混亂,特別是在事務存在的情況下:可能一個線程剛開啓事務con.setAutoCommit(true),而另一個線程直接提交事務con.commit(); 對

@jdcdevloper

深入理解MySQL索引底層數據結構

1 引言 在日常工作中,我們會遇見一些慢SQL,在分析這些慢SQL時,我們通常會看下SQL的執行計劃,驗證SQL執行過程中有沒有走索引。通常我們會調整一些查詢條件,增加必要的索引,SQL執行效率就會提升幾個數量級。我們有沒有思考過,為什麼加了索引就會能提高SQL的查詢效率,為什麼有時候加了索引SQL執行反而會沒有變化,本文就從MySQL索引的底層數據結構和算法來進行詳細分析。 2 索引數據結構對比

jdcdevloper 头像

@jdcdevloper

昵称 京東雲開發者

@ninedata

GaussDB(for MySQL) 雲原生數據庫技術演進和挑戰

摘要:GaussDB(forMySQL)是華為自研雲原生數據庫,具有高性能,高擴展,高可靠的特點,完全兼容MySQL協議,自研架構和友好的生態兼容性,可以同時滿足數據庫管理員、應用開發者、CTO的運維、使用和業務發展需求,本次主要介紹GaussDB(forMySQL)在雲原生技術方向上遇到的挑戰和未來的發展演進路徑。 在2023雲數據庫技術沙龍“MySQLxClickHouse”專場上,華為雲數據

ninedata 头像

@ninedata

昵称 NineData

@headofhouchang

為啥MySQL的InnoDB在一頁(page)中最少要存儲兩條記錄?

關於這個問題,村長我查過很多信息,有説來自官方,有自己分析的,莫衷一是,要麼太發散,要麼有幾分牽強,現在村長試解答一下。 這個問題其實挺有意思,理論上來説,可以存一條數據,那為啥要有這麼個規則呢? 我們知道,一頁的大小默認為 16*1024=16384 字節,但是,MySQL 允許的一行數據的存儲上限卻為 65535! 當然了,這 65535 個字節除了列本身的數據外,還包括一些其他數據(s

headofhouchang 头像

@headofhouchang

昵称 後廠村村長

@zeran

Mysql單表訪問方法

訪問方法的概念 設計MySQL的大叔把MySQL執行查詢語句的方式稱為訪問方法(access method)或者訪問類型。同一個查詢語句可以使用多種不同的訪問方法來執行,雖然最後的查詢結果都是一樣的,但是不同的執行方式話費的時間成本可能差距甚大。就像是從北京南鑼鼓巷到什剎海,你可以打車去,也可以坐地鐵去,坐公交去,還可以騎共享單車去,當然也可以走着去。 表結構 CREATE TABLE singl

zeran 头像

@zeran

昵称 Zeran

@ninedata

40分鐘500GB!輕鬆將MySQL數據同步到Doris

隨着數據分析在業務決策中變得日益重要,數據實時同步和分析成為企業提升競爭力的關鍵。MySQL 作為廣泛使用的關係型數據庫,其數據存儲豐富,但無法滿足大規模數據分析和高併發查詢的需求。而 Doris 作為一款專為大數據分析設計的分佈式數據倉庫,具有高性能、可擴展的特點,其優異的數據處理能力也在行業內廣受關注。 01 為什麼需要把 MySQL 同步到 Doris? 大數據分析需求: 當您的業務數據

ninedata 头像

@ninedata

昵称 NineData

@jdcdevloper

淺析MySQL代價模型:告別盲目使用EXPLAIN,提前預知索引優化策略 | 京東雲技術團隊

背景 在 MySQL 中,當我們為表創建了一個或多個索引後,通常需要在索引定義完成後,根據具體的數據情況執行 EXPLAIN 命令,才能觀察到數據庫實際使用哪個索引、是否使用索引。這使得我們在添加新索引之前,無法提前預知數據庫是否能使用期望的索引。更為糟糕的是,有時甚至在添加新的索引後,數據庫在某些查詢中會使用它,而在其他查詢中則不會使用,這種情況下,我們無法確定索引是否發揮了預期的作用,讓人感到

jdcdevloper 头像

@jdcdevloper

昵称 京東雲開發者

@dblens_com

金融行業MySQL索引實戰:交易系統的最左原則深度優化

一、金融交易系統的索引挑戰 1.1 金融業務特徵 高頻寫入:每秒數千筆交易記錄 複雜查詢:多維度交易檢索(賬户、時間、金額、類型) 監管要求:7×24小時歷史數據可追溯 數據安全:嚴格的ACID事務要求 1.2 典型數據表結構 CREATE TABLE transactions ( trans_id BIGINT AUTO_INCREMENT PRIMARY KEY,

dblens_com 头像

@dblens_com

昵称 DBLens

@fanudekaixinguo

MySQL COUNT() 性能:聚簇索引、二級索引與不同寫法的效率對比

在日常開發中,統計一張表中的記錄數是非常常見的需求,而 COUNT 函數就是我們最常用的工具。但 COUNT 的用法有多種,例如: COUNT(*) COUNT(1) COUNT(字段) COUNT(主鍵字段) 平時我也會疑惑:這些寫法到底有什麼區別?哪種性能更好?是不是 COUNT(*) 最慢? 本文就結合 InnoDB 存儲引擎的執行原理,深入分析這些不同寫法的差異,並總結出最佳實

fanudekaixinguo 头像

@fanudekaixinguo

昵称 kexb

@souyunku

MySQL優化:12種提升SQL執行效率的有效方法

在數據庫管理和優化的世界裏,MySQL作為一個流行的關係型數據庫管理系統,其性能優化是任何數據密集型應用成功的關鍵。優化MySQL數據庫不僅可以顯著提高SQL查詢的效率,還能確保數據的穩定性和可靠性。 本文,已收錄於,我的技術網站 ddkk.com,有大廠完整面經,工作技術,架構師成長之路,等經驗分享 在本文中,我將介紹12種提升SQL執行效率的有效方法,並通過實用的代碼示例來具體展示如何實施這些

souyunku 头像

@souyunku

昵称 架構師專欄

@dblens_com

MySQL索引最左原則:從原理到實戰的深度解析

MySQL索引最左原則:從原理到實戰的深度解析 一、什麼是索引最左原則? 索引最左原則是MySQL複合索引使用的核心規則,簡單來説: "當使用複合索引(多列索引)時,查詢條件必須從索引的最左列開始,且不能跳過中間的列,否則索引將無法完全生效" 為什麼會有這個原則? 這與B+樹索引的存儲結構密切相關: 複合索引按照定義時的列順序構建 數據先按第一列排序 第一列相同的情況下按第二列排序 依此

dblens_com 头像

@dblens_com

昵称 DBLens

@yizhidanshendetielian

MySQL索引介紹

索引概念 簡單來説是一個已經排好序,能夠提升查詢效率的數據結構 索引分類 聚簇索引【主鍵索引】 就是索引和數據都在一個葉子節點上 非聚簇索引【非主鍵索引】 索引對應存儲的數據是主鍵值 索引底層採用的是B+樹 B樹 B+樹其實是由一個B樹演化而來的,B樹所有的節點都存儲索引值和行數據,其中一個節點包括 索引:8B 行數據:1K 總共1032B MySQL是以頁來存儲數據的,一頁大小為16K,索引的大

yizhidanshendetielian 头像

@yizhidanshendetielian

昵称 飛天鑄幣