mysql索引三個字段查詢兩個字段_mysql中關于關聯索引的問題——對a,b,c三個字段建立聯合索引,那么查詢時使用其中的2個作為查詢條件,是否還會走索引?...

情況描述:在MySQL的user表中,對a,b,c三個字段建立聯合索引,那么查詢時使用其中的2個作為查詢條件,是否還會走索引?

根據查詢字段的位置不同來決定,如查詢a, ? ? a,b ?? a,b,c ?? a,c ? 都可以走索引的,其他條件的查詢不能走索引。

組合索引 有“最左前綴”原則。就是只從最左面的開始組合,并不是所有只要含有這三列存在的字段的查詢都會用到該組合索引。

驗證過程如下所示:

首先,在SQLyog中建立一個user表,如下圖所示;

5582e26ef2541cb6ffde19eec232036d.png

對中間3個字段(user_name,user_age,user_password)進行聯合索引 index_user_join

查詢情況如下所示:

1.同時查詢這3個字段作為條件的SQL,索引情況及SQL語句如下所示:

SELECT *FROM t_user WHERE? user_name='zs' AND user_age=20 AND user_password='123456';

其使用索引情況如下所示:

e937cf5079e8c71fdae5070a8db8f998.png

從執行結果上可以看到是從走索引進行查詢的

2.使用user_age和user_password作為查詢條件進行查詢,索引及SQL語句如下所示:

a0e0cd1f6e02c233cb855255e2ccaccb.png

3.使用user_name和user_password作為查詢條件進行查詢,索引及SQL語句如下所示:

77f78cdf4171e743ae5b9e083dbe1df1.png

4.使用user_name作為查詢條件進行查詢,索引及SQL語句如下所示:

2c721836431cf77b3c6a4b2b349500ee.png

5.使用user_age作為查詢條件進行查詢,索引及SQL語句如下所示:

a01d2dcd9b146e84191d545051c87be3.png

6.使用user_password作為查詢條件進行查詢,索引及SQL語句如下所示:

031ca2028ddfaf7c53373d6656a2646e.png

以上是針對普通的字段建立聯合索引的測試情況及截圖,歡迎小伙伴們來補充~

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

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

相關文章

HDU 3966 Aragorn's Story (樹鏈剖分+線段樹)

題意:給你一棵樹,然后有三種操作 I L R K: 把L與R的路徑上的所有點權值加上K D L R K:把L與R的路徑上的所有點權值減去K Q X:查詢節點編號為X的權值 思路:樹鏈剖分裸題(我還沒有怎么學懂,但基本…

canon相機api中文_您應該在佳能相機上掌握的10種相機設置

canon相機api中文Your camera is a tool, and you should be able to use it with total confidence. You should never have to dig through the manual or play around with random buttons trying to work out how to do something on a shoot. Here are the most important…

mysql普通索引自增_mysql中聯合索引中的自增列的增長策略

《深入理解MySQL》中一段介紹MyISAM存儲引擎中自動增長列的示例,如下1 mysql>create table autoincre_demo2 -> (d1 smallint not nullauto_increment,3 -> d2 smallint not null,4 -> name varchar(10),5 ->index(d2,d1)6 -> )enginemyisam;7 Query OK, 0 r…

spring-boot基礎概念與簡單應用

1.spring家族 2.應用開發模式 2.1單體式應用 2.2微服務架構 微服務架構中每個服務都可以有自己的數據庫 3.微服務架構應當注意的細節 3.1關于"持續集成,持續交付,持續部署" 頻繁部署、快速交付以及開發測試流程自動化都將成為未來軟件工程的重要組成部分 可行方案(如…

郵箱客戶端 gmail支持_如何聯系Gmail支持

郵箱客戶端 gmail支持Although you may not be able to directly contact Gmail support without subscribing to G Suite for businesses, there are a couple of ways to get the answers you’re looking for online. Let’s look at how you can get help with your Gmail …

jstorm mysql_zookeeper,kafka,jstorm,memcached,mysql流式數據處理平臺部署

一.平臺環境介紹:1.系統信息:項目信息系統版本:Ubuntu14.04.2 LTS \n \l用戶:*****密碼:******Java環境:openjdk-7-jre語言:en_US.UTF-8,en_US:en磁盤:每臺vda為系統盤(5…

dock模擬macos教程_將macOS首選項窗格添加到您的Dock中以快速訪問

dock模擬macos教程macOS: Is there a certain Preference pane you access constantly? You can quickly add it to your dock. macOS:是否存在您經常訪問的特定“首選項”窗格? 您可以將其快速添加到擴展塢中。 Brett Terpstra, writing for Lifehacke…

怎么做mysql查詢系統_mysql數據庫系統學習(一)---一條SQL查詢語句是如何執行的?...

一、第一節:一條sql查詢語句是怎樣執行的5.5.5版本以后,默認使用存儲引擎為InnoDB不使用查詢緩存,MySQL8.0沒有查詢緩存這個功能總體來說:MySQL分為service層和存儲引擎層1)service層包括:連接器、分析器、優化器、執行…

mysql qt自增_mysql自增設置

MySQL設置自增字段的相關語句:alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment;alter table album auto_increment1;創建:mysql>create table cc(id int auto_increment,name varchar(20),primary key(id));mysql>create table c…

staem被盜_如何檢查照片是否被盜

staem被盜Photos and other images get stolen all the time online. Someone takes a photo from the photographer’s website or social media channels and uses it for their own needs. This is completely illegal and happens to me all the time here at How-To Geek.…

數據庫、表、表內容增刪改查

數據庫和表的創建 用戶的增 刪 改 查 增 create user 用戶名192.168.16.% identified by ‘123’;創建一個賬戶,并設置密碼,可不設密碼 grant all on *.* to 用戶地址; #給賬戶授權 flush privileges; #刷新授權立即生效 創…

立即通過Xumo.TV在線觀看免費電視

Xumo.TV brings the channel surfing experience to cord cutters, with content from The History Channel, MSNBC, Fox Sports, and more. And it’s free. Xumo.TV將頻道瀏覽體驗帶給剪線鉗,其中包括The History Channel,MSNBC,Fox Sports…

NOIP2009靶形數獨

試題描述小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨游戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過于簡單了,于是他們向 Z 博士請教, Z 博士拿出了他最近發明的“靶形數獨”&…

mysql 1005 - can't create table_關于創建數據表報錯一例(ERROR 1005 Can’t create table (errno: 121))...

問題描述曾遇到創建數據表報錯問題,報錯如下:ERROR 1005 (HY000) at line 18: Cant create table db1.t2 (errno: 121)通過日志查看有一條記錄InnoDB: Error: table db1.t2 already exists in InnoDB internal可見要創建的這個表已經存在,導致…

h5輸出文字write_免費下載:Write是用于手寫的文字處理器

h5輸出文字writeWindows/Mac/Linux/Android: Love the feel of writing by hand, but wish you could use features like copy/paste and undo? Write is a free tool that lets you do just that. Windows / Mac / Linux / Android:喜歡手寫的感覺,但是…

11. IDEA 在同一工作空間創建多個項目

1.創建項目 二.、創建工作空間 JavaWorkspace 1、File-> New Project -> 創建工作空間 JavaWorkspace,并 順便創建項目 JavaOne 2.創建第一個項目后形成的目錄結構如下 三、在已經創建好的工作空間中創建第二個項目 1、File -> New Module -> 創建項目 …

winform 線程監聽兩個目錄下的文件_vb.net 利用.net自帶的GZipStream壓縮或者解壓文件的代碼,不需要任何第三方控件...

網上很少有用VB寫的壓縮文件的代碼,但是,在網絡傳輸,文件下載,打包發布等等方面的需求又比較多,所以,借鑒了一下C#代碼的例子,改造成了VB用的類。另外加上了多層文件夾壓縮解壓。但是,因為時間有…

什么是“ rpcsvchost”,以及為什么它在Mac上運行?

You find something called rpcsvchost while using Activity Monitor to see what’s running on your Mac. What is this process, and should you be worried? In a word, no: rpcsvhost is a core part of macOS. 在使用“活動監視器”查看Mac上正在運行的內容時&#xff…

自定義異常禁用異常堆棧_如何在Mac上禁用或自定義自動更正

自定義異常禁用異常堆棧Sometimes, autocorrect gets it wrong, replacing a word you meant to type with something completely different. You can customize it to fix these issues or disable it altogether. 有時候,自動更正會把它弄錯,用完全不同…

控制dcom程序使用端口_使用VS Code調試.net控制臺應用程序的方法

本文由 比特飛 原創發布,歡迎大家踴躍轉載。轉載請注明本文地址:https://www.byteflying.com/archives/6928。1、概述本文向大家介紹使用Visual Studio Code調試.net控制臺應用程序的方法。2、方案首先在創建好一個控制臺應用程序,再在擴展中…