mysql--索引

索引作為一種數據結構,其用途是用于提升檢索數據的效率。

分類

普通索引(INDEX):索引列值可重復
唯一索引(UNIQUE):索引列值必須唯一,可以為NULL
主鍵索引(PRIMARY KEY):索引列值必須唯一,不能為NULL,一個表只能有一個主鍵索引
全文索引(FULL TEXT):給每個字段創建索引

1.創建索引

1.1?普通索引(INDEX)

1.1.1??在創建表時指定

mysql> create table student1(id int not null, name varchar(100) not null, birthdy date, sex char(1) not null, index nameindex (name(50)));
Query OK, 0 rows affected (0.02 sec)

1.1.2??基于表結構創建

mysql> create table student2(id int not null, name varchar(100) not null, birthday date, sex char(1) not null);
Query OK, 0 rows affected (0.01 sec)mysql> create index nameindex on student2(name(50));

1.1.3??修改表結構創建

mysql> create table student3(id int not null, name varchar(100) not null, birthday date, sex char(1) not null);
Query OK, 0 rows affected (0.01 sec)mysql> ALTER TABLE student3 ADD INDEX nameIndex(name(50));

1.2?唯一索引(UNIQUE)

1.2.1??在創建表時指定

mysql> create table student4(id int not null, name varchar(100) not null, birthday date, sex char(1) not null, unique index id_idex (id));
Query OK, 0 rows affected (0.00 sec)

1.2.2??基于表結構創建

mysql> create table student5(id int not null, name varchar(100) not null, birthday date, sex char(1) not null);
Query OK, 0 rows affected (0.00 sec)mysql> CREATE unique INDEX idIndex ON student5(id);

2.?刪除索引

2.1?普通索引(INDEX)

2.1.1?直接刪除

mysql> DROP INDEX nameIndex ON student1;

2.1.2?修改表結構刪除

mysql> ALTER TABLE student2 DROP INDEX nameIndex;

2.2?唯一索引(UNIQUE)

2.2.1?直接刪除

mysql> DROP INDEX idIndex ON student4;

2.2.2?修改表結構刪除

mysql> ALTER TABLE student DROP INDEX idIndex;

2.3?查看索引

mysql> SHOW INDEX FROM tab_name;

3.問題:

3.1?導致SQL執行慢的原因:

1.硬件問題。如網絡速度慢,內存不足,I/O吞吐量小,磁盤空間滿了等。
2.沒有索引或者索引失效.
3.數據過多

3.2?索引失效的原因:

運用函數
統計信息不準確:當表中的數據發生大量的插入、更新或者刪除操作后,統計信息可能就不再準確
數據分布不均
或(兩者都對)
數據類型不匹配
大量的模糊查詢
函數的大量使用

注意點:

index(key)每張表可以有很多列做index,必須的起名

索引:當查詢速度過慢可以通過建立優化查詢速度,可以當作調優

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

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

相關文章

王道考研數據結構課后題代碼題(2026版)——排序部分

一、前言 本合集以王道考研《數據結構》輔導書(2026版)課后習題代碼題部分為參考依據,給出課后習題代碼題的可執行代碼的實現,本合集使用編程語言以C/C語言為主,也不限于使用Python和Java語言,本套合計代碼…

AVFormatContext 再分析零

隨著對于AVFormatContext 各個參數的學習,逐漸可以從 整體架構上 再認識一下 AVFormatContext 了。 還是從解封裝的第一步開始。 int avformat_open_input(AVFormatContext **ps, const char *url, ff_const59 AVInputFormat *fmt, AVDictionary **options); 實際上…

uniapp打包apk詳細教程

目錄 1.打apk包前提條件 2.獲取uni-app標識 3.進入dcloud開發者后臺 4.開始打包 1.打apk包前提條件 1.在HBuilderX.exe軟化中,登錄自己的賬號 2.在dcloud官網,同樣登錄自己的賬號。沒有可以免費注冊。 2.獲取uni-app標識 獲取方法:點…

Vue2 和 Vue3 的核心區別

1. 響應式原理:從「手動擋」到「自動擋」 Vue2: 使用 Object.defineProperty 監聽數據變化,但無法檢測新增屬性和數組索引修改,需要借助 Vue.set。 // Vue2 中修改數組元素不會觸發視圖更新 this.list[0] 新值; // ? 不…

EMMC存儲性能測試方法

記于 2022 年 9 月 15 日 EMMC存儲性能測試方法 - Wesley’s Blog 參考Android-emmc性能測試 | 一葉知秋進行實踐操作 dd 命令 頁面緩存 為了測試 emmc 的真實讀寫性能,我們需要先把頁面緩存給清理: echo 1 > /proc/sys/vm/drop_caches console:…

軟件管理(安裝方式)

1.rpm安裝 1.1.rpm介紹 rpm軟件包名稱: 軟件名稱 版本號(主版本、次版本、修訂號) 操作系統 -----90%的規律 舉例:openssh-6.6.1p1-31.el7.x86_64.rpm 數字是版本號:第一位主版本號,第二位次版本號,帶橫杠的是修訂號, el幾---操作系統的版本。 #用rpm安裝需要考慮如下信…

OnlyOffice Document Server 源碼調試指南-ARM和x86雙模式安裝支持

在ARM64架構下創建的ONLYOFFICE源碼調試容器具有顯著優勢。該容器基于官方Document Server鏡像構建,通過集成Git、Python和Node.js等工具鏈,實現跨平臺環境一致性,確保ARM設備的兼容性。容器化隔離消除了依賴沖突,支持快速部署到邊…

oracle 數據庫查詢指定用戶下每個表占用空間的大小,倒序顯示

oracle 查詢指定用戶下每個表占用空間的大小,倒序顯示 使用場景:數據分析;導出醫院正式庫到開發環境時,查詢出占用表空間高的業務表、導出時排除該表 在Oracle數據庫中,要查詢指定用戶下每個表占用空間的大小并以倒序…

歸并排序【逆序對】

目錄 歸并排序原理 逆序對 歸并排序 主要利用分治思想,時間復雜度O(nlogn) 原理 1.對數列不斷等長拆分,直到一個數的長度。2.回溯時,按升序合并左右兩段。3.重復以上兩個過程,直到遞歸結束。 合并 1.i,j分別指向a的…

AI 與生物技術的融合:開啟精準醫療的新紀元

在科技飛速發展的今天,人工智能(AI)與生物技術的融合正在成為推動醫療領域變革的重要力量。精準醫療作為現代醫學的重要發展方向,旨在通過深入了解個體的基因信息、生理特征和生活方式,為患者提供個性化的治療方案。AI…

對比表格:數字簽名方案、密鑰交換協議、密碼學協議、后量子密碼學——密碼學基礎

文章目錄 一、數字簽名方案1.1 ECDSA:基于橢圓曲線的數字簽名算法1.2 EdDSA:Edwards曲線數字簽名算法1.3 RSA-PSS:帶有概率簽名方案的RSA1.4 數字簽名方案對比 二、密鑰交換協議2.1 Diffie-Hellman密鑰交換2.2 ECDH:橢圓曲線Diffi…

Linux 進程間通信(IPC)詳解

進程間通信(IPC)深入解析 一、進程間通信概述 在操作系統里,不同進程間常常需要進行數據交換、同步協調等操作,進程間通信(Inter - Process Communication,IPC)機制應運而生。在Linux系統中&a…

深度解析ComfyUI的使用

一、ComfyUI 概述 ComfyUI 本質上是一個專為 AI 繪畫愛好者和專業人士打造的用戶界面工具,它的核心作用是將復雜的 AI 繪畫生成過程以直觀的方式呈現給用戶。與傳統的圖像生成工具不同,ComfyUI 借助其獨特的節點化工作流系統,把深度學習模型…

模型測試報錯:有2張顯卡但cuda.device_count()顯示GPU卡數量只有一張

此貼僅為記錄debug過程,為防后續再次遇見 問題 問題情境 復現文章模型,使用GPU跑代碼,有兩張GPU,設置在 cuda: 1 上跑 問題描述 在模型測試加載最優模型時報錯:torch.cuda.device_count()顯示GPU卡數量只有一張&…

【計網】認識跨域,及其在go中通過注冊CORS中間件解決跨域方案,go-zero、gin

一、跨域(CORS)是什么? 跨域,指的是瀏覽器出于安全限制,前端頁面在訪問不同源(協議、域名、端口任一不同)的后端接口時,會被瀏覽器攔截。 比如: 前端地址后端接口地址是…

內存性能測試方法

寫于 2022 年 6 月 24 日 內存性能測試方法 - Wesley’s Blog dd方法測試 cat proc/meminfo console:/ # cat proc/meminfo MemTotal: 3858576 kB MemFree: 675328 kB MemAvailable: 1142452 kB Buffers: 65280 kB Cached: 992252 …

AVFormatContext 再分析二

說明 :將 avfromatContext 的變量依次打印分析,根據ffmpeg 給的說明,猜測,結合網上的文章字節寫測試代碼分析二。 37 AVInputFormat *iformat; /** * The input container format. * * Demuxing only, set by avfo…

深入了解Linux系統—— 進程優先級

前言 我們現在了解了進程是什么,進程狀態表示什么 ,我們現在繼續來了解進程的屬性 —— 進程優先級 進程執行者 在了解進程優先級之前,先來思考一個問題:在我們進行文件訪問操作時,操作系統是如何直到我們是誰&#x…

Expected SARSA算法詳解:python 從零實現

🧠 向所有學習者致敬! “學習不是裝滿一桶水,而是點燃一把火。” —— 葉芝 我的博客主頁: https://lizheng.blog.csdn.net 🌐 歡迎點擊加入AI人工智能社區! 🚀 讓我們一起努力,共創…

1penl配置

好的,根據您提供的 1pctl 命令輸出信息,我們來重新依次回答您的所有問題: 第一:1Panel 怎么設置 IP 地址? 根據您提供的 user-info 輸出: 面板地址: http://$LOCAL_IP:34523/93d8d2d705 這里的 $LOCAL_I…