最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql重復索引與冗余索引實例分析

 更新時間:2019年07月11日 11:37:08   作者:webbc  
這篇文章主要介紹了mysql重復索引與冗余索引,簡單說明了重復索引與冗余索引的概念、應用場景并結合實例形式分析了mysql重復索引與冗余索引相關操作技巧,需要的朋友可以參考下

本文實例講述了mysql重復索引與冗余索引。分享給大家供大家參考,具體如下:

重復索引:表示一個列或者順序相同的幾個列上建立的多個索引。

冗余索引:兩個索引所覆蓋的列重疊

冗余索引在一些特殊的場景下使用到了索引覆蓋,所以比較快。

場景

比如文章與標簽表

+——+——-+——+
| id | artid | tag |
+——+——-+——+
| 1 | 1 | PHP |
| 2 | 1 | Linux |
| 3 | 2 | MySQl |
| 4 | 2 | Oracle |
+——+——-+——+

在實際使用中, 有2種查詢

  • artid—查詢文章的—tag
  • tag—查詢文章的 —artid

SQL語句:

select tag from t11 where artid=2;
select artid from t11 where tag='PHP';

我們可以建立冗余索引,來達到索引覆蓋的情況,這樣的查詢效率會比較高。

1、建立一個文章標簽表

這個表中有兩個索引,一個是at,一個是ta,兩個索引都用到了artid和tag兩個字段。

CREATE TABLE `t16` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `artid` int(10) unsigned NOT NULL DEFAULT '0',
 `tag` char(20) NOT NULL DEFAULT '',
 PRIMARY KEY (`id`),
 KEY `at` (`artid`,`tag`),
 KEY `ta` (`tag`,`artid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

2、測試兩條SQL語句

select artid from t11 where tag='PHP';

這條語句的查詢分析中的Extra有Using index,表示此處用到了索引覆蓋,使用索引覆蓋后就不需要回行查詢數據,這樣的查詢效率比較高。

這里寫圖片描述

select tag from t11 where artid = 1;

這條語句的查詢分析中的Extra有Using index,表示此處用到了索引覆蓋,使用索引覆蓋后就不需要回行查詢數據,這樣的查詢效率比較高。

列表內容

關于索引覆蓋的詳細內容可以查看前面一篇文章:索引覆蓋

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總

希望本文所述對大家MySQL數據庫計有所幫助。

相關文章

  • MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    MySQL中的RIGHT?JOIN和CROSS?JOIN操作示例

    本文詳細介紹了MySQL中的RIGHT?JOIN和CROSS?JOIN操作,RIGHT?JOIN返回右表中的所有記錄及與左表中的記錄相匹配的記錄,而CROSS?JOIN返回兩個表中所有可能的組合,通過實際示例和輸出結果,我們展示了如何使用RIGHT?JOIN和CROSS?JOIN進行數據庫查詢,一起看看吧
    2023-07-07
  • SQLyog的下載、安裝、破解、配置教程(MySQL可視化工具安裝)

    SQLyog的下載、安裝、破解、配置教程(MySQL可視化工具安裝)

    SQLyog是一款MySQL可視化工具,他可以將部分SQL操作通過圖形化界面操作來完成,方便開發(fā)者更好的進行開發(fā)及數據庫設計,這篇文章主要介紹了SQLyog的下載、安裝、破解、配置(MySQL可視化工具安裝),需要的朋友可以參考下
    2022-09-09
  • Mysql InnoDB刪除數據后釋放磁盤空間的方法

    Mysql InnoDB刪除數據后釋放磁盤空間的方法

    這篇文章主要介紹了Mysql InnoDB刪除數據后釋放磁盤空間的方法,Innodb數據庫對于已經刪除的數據只是標記為刪除,并不真正釋放所占用的磁盤空間,這就導致InnoDB數據庫文件不斷增長,本文就講解釋放磁盤空間的方法,需要的朋友可以參考下
    2015-04-04
  • MySQL執(zhí)行SQL文件報錯:Unknown collation ‘utf8mb4_0900_ai_ci‘的解決方案

    MySQL執(zhí)行SQL文件報錯:Unknown collation ‘utf8mb4_0900_ai_

    這篇文章主要給大家分享了MySQL執(zhí)行SQL文件出現【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解決方案,如果又遇到相同問題的同學,可以參考閱讀本文
    2023-09-09
  • MySQL查詢語句大全集錦

    MySQL查詢語句大全集錦

    這篇文章主要介紹了MySQL查詢語句大全集錦,需要的朋友可以參考下
    2016-06-06
  • MySQL外鍵設置的方法實例

    MySQL外鍵設置的方法實例

    這篇文章主要介紹了MySQL外鍵設置的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • mysql 5.7.23 winx64解壓版安裝教程

    mysql 5.7.23 winx64解壓版安裝教程

    這篇文章主要為大家詳細介紹了mysql 5.7.23 winx64解壓版安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • MySql數據庫自動遞增值問題

    MySql數據庫自動遞增值問題

    這篇文章主要介紹了MySql數據庫自動遞增值問題的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 解決MySQL報錯:The last packet sent successfully to the server was 0 milliseconds ago.

    解決MySQL報錯:The last packet sent successfu

    這篇文章主要介紹了解決MySQL報錯:The last packet sent successfully to the server was 0 milliseconds ago問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解MySQL聚合函數

    詳解MySQL聚合函數

    在 MySQL 中,聚合函數是用于計算多行數據的統(tǒng)計信息的函數,例如總和、平均值、最大值、最小值和行數等。將多行數據聚合成單個結果,這是聚合函數得名的由來。本文將詳細介紹MySQL的聚合函數,感興趣的小伙伴可以參考一下
    2023-04-04

最新評論

襄垣县| 永春县| 阜新| 河津市| 江陵县| 正定县| 弥渡县| 乐平市| 遂溪县| 天峻县| 饶河县| 龙海市| 南丰县| 连山| 大渡口区| 民和| 新野县| 盐源县| 资中县| 丹阳市| 远安县| 二连浩特市| 安平县| 江山市| 铁岭市| 安达市| 塔河县| 哈巴河县| 天津市| 丰顺县| 招远市| 桦南县| 太仓市| 繁峙县| 宁武县| 南丹县| 海晏县| 岫岩| 阳信县| 泌阳县| 上饶市|