<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>数据库 on 我的笔记</title><link>https://blog.etcnotes.top/docs/%E6%95%B0%E6%8D%AE%E5%BA%93/</link><description>Recent content in 数据库 on 我的笔记</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 20 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.etcnotes.top/docs/%E6%95%B0%E6%8D%AE%E5%BA%93/index.xml" rel="self" type="application/rss+xml"/><item><title>MySQL 索引</title><link>https://blog.etcnotes.top/docs/%E6%95%B0%E6%8D%AE%E5%BA%93/mysql-index/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><guid>https://blog.etcnotes.top/docs/%E6%95%B0%E6%8D%AE%E5%BA%93/mysql-index/</guid><description>&lt;h1 id="mysql-索引"&gt;MySQL 索引&lt;a class="anchor" href="#mysql-%e7%b4%a2%e5%bc%95"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class="book-hint info" &gt;&#10;&#10;InnoDB 使用 B+ 树索引，叶子节点存数据，非叶子节点只存键值。&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="常见类型"&gt;常见类型&lt;a class="anchor" href="#%e5%b8%b8%e8%a7%81%e7%b1%bb%e5%9e%8b"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="book-tabs" &gt;&#10;&lt;input type="radio" class="toggle" name="tabs-1" id="tabs-1-0" checked="checked" /&gt;&lt;label for="tabs-1-0"&gt;主键索引&lt;/label&gt;&lt;div class="book-tabs-content markdown-inner"&gt;&#10;聚簇索引，叶子节点即数据行。&lt;/div&gt;&#10;&lt;input type="radio" class="toggle" name="tabs-1" id="tabs-1-1" /&gt;&lt;label for="tabs-1-1"&gt;二级索引&lt;/label&gt;&lt;div class="book-tabs-content markdown-inner"&gt;&#10;叶子节点存主键值，回表才能取到整行。&lt;/div&gt;&#10;&lt;input type="radio" class="toggle" name="tabs-1" id="tabs-1-2" /&gt;&lt;label for="tabs-1-2"&gt;联合索引&lt;/label&gt;&lt;div class="book-tabs-content markdown-inner"&gt;&#10;遵循最左前缀原则。&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="示例"&gt;示例&lt;a class="anchor" href="#%e7%a4%ba%e4%be%8b"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;-- 联合索引 (a, b, c)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;CREATE&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;INDEX&lt;/span&gt; idx_abc &lt;span style="color:#ff6ac1"&gt;ON&lt;/span&gt; t (a, b, &lt;span style="color:#ff6ac1"&gt;c&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;-- 能走索引: a、a+b、a+b+c&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;-- 不能单独走: b、c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;details &gt;&lt;summary&gt;为什么不建议 SELECT *&lt;/summary&gt;&lt;div class="markdown-inner"&gt;&#10;&#10;会破坏覆盖索引，导致回表，且传输多余字段。&#10;&lt;/div&gt;&lt;/details&gt;</description></item></channel></rss>