首頁 資料庫 mysql教程 mysql or条件可以使用索引而避免全表扫描_MySQL

mysql or条件可以使用索引而避免全表扫描_MySQL

Jun 01, 2016 pm 01:43 PM
掃描

bitsCN.com

 

在某些情况下,or条件可以避免全表扫描的。

 

1 .where 语句里面如果带有or条件, myisam表能用到索引,innodb不行。

 

1)myisam表:

 CREATE TABLE IF NOT EXISTS `a` (

  `id` int(1) NOT NULL AUTO_INCREMENT,

  `uid` int(11) NOT NULL,

  `aNum` char(20) DEFAULT NULL,

  PRIMARY KEY (`id`),

  KEY `uid` (`uid`)

) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

 

mysql> explain select * from a where id=1 or uid =2;

+----+-------------+-------+-------------+---------------+-------------+---------+------+------+---------------------------------------+

| id | select_type | table | type        | possible_keys | key         | key_len | ref  | rows | Extra                                 |

+----+-------------+-------+-------------+---------------+-------------+---------+------+------+---------------------------------------+

|  1 | SIMPLE      | a     | index_merge | PRIMARY,uid   | PRIMARY,uid | 4,4     | NULL |    2 | Using union(PRIMARY,uid); Using where |

+----+-------------+-------+-------------+---------------+-------------+---------+------+------+---------------------------------------+

1 row in set (0.00 sec)

 

2)innodb表:

 

CREATE TABLE IF NOT EXISTS `a` (

  `id` int(1) NOT NULL AUTO_INCREMENT,

  `uid` int(11) NOT NULL,

  `aNum` char(20) DEFAULT NULL,

  PRIMARY KEY (`id`),

  KEY `uid` (`uid`)

) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

 

 

mysql>  explain select * from a where id=1 or uid =2;

+----+-------------+-------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |

+----+-------------+-------+------+---------------+------+---------+------+------+-------------+

|  1 | SIMPLE      | a     | ALL  | PRIMARY,uid   | NULL | NULL    | NULL |    5 | Using where |

+----+-------------+-------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

 

 

2 .必须所有的or条件都必须是独立索引:

+-------+----------------------------------------------------------------------------------------------------------------------

| Table | Create Table

+-------+----------------------------------------------------------------------------------------------------------------------

| a     | CREATE TABLE `a` (

  `id` int(1) NOT NULL AUTO_INCREMENT,

  `uid` int(11) NOT NULL,

  `aNum` char(20) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 |

+-------+----------------------------------------------------------------------------------------------------------------------

1 row in set (0.00 sec)

 

explain查看:

mysql> explain select * from a where id=1 or uid =2;

+----+-------------+-------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |

+----+-------------+-------+------+---------------+------+---------+------+------+-------------+

|  1 | SIMPLE      | a     | ALL  | PRIMARY       | NULL | NULL    | NULL |    5 | Using where |

+----+-------------+-------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

 

全表扫描了。

 

摘自 hguisu的专栏

bitsCN.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
Win10如何使用WindowsDefender對資料夾進行掃描。 Win10如何使用WindowsDefender對資料夾進行掃描。 Jul 10, 2023 pm 11:17 PM

Windows10有一個免費的防毒程序,叫做WindowsDefender,它提供了即時保護,可以在電腦上進行掃描。這也使您可以執行自訂掃描,從而可以指定特定的資料夾或磁碟機來掃描惡意軟體。因為你只需要掃描這個資料夾,所以掃描的時間會比掃描整台機器快很多。如下所示,我們為您的特定資料夾提供了兩個客製化掃描的方法。 Win10是如何使用WindowsDefender掃描資料夾中的惡意軟體。若要掃描個別資料夾及其子資料夾,最簡單的方式是右鍵點選該資料夾,然後選擇「使用WindowsDefender掃描

惠普印表機掃描怎麼掃描成一個pdf 惠普印表機掃描怎麼掃描成一個pdf Feb 19, 2024 am 10:06 AM

許多使用者使用惠普印表機掃描文件之後,想要直接掃描成一個pdf文件,但是不知道怎麼樣操作才能成功,只要在電腦中使用掃描器程式就可以了。惠普印表機掃描怎麼掃描成一個pdf:1、先開啟電腦上的掃描器程式。 2、然後在頁面設定中選擇「另存PDF」。 3、然後在右下角按「掃描」開始掃描第一個檔案。 4.完成之後,點左下角的「+」圖標,就可以增加新的掃描頁面。 5.就可以看到原本文件邊有新的掃描框。 7.最後完成之後,選擇「儲存」就可以儲存這些PDF檔案了。

網路易雲音樂怎麼掃描本地音樂_網易雲音樂掃描本地音樂教程 網路易雲音樂怎麼掃描本地音樂_網易雲音樂掃描本地音樂教程 Mar 25, 2024 pm 10:21 PM

1.開啟網易雲音樂,點選我的,點選本地音樂。 2、點選右上角的三個點。 3.點擊掃描本地音樂。 4.點選下方的掃描設定。 5.往左滑動過濾小於60秒的音訊檔案。 6.返回點擊全盤掃描,就可以掃描到全部的本地音樂的。

夸克二維碼怎麼掃 夸克二維碼怎麼掃 Feb 27, 2024 pm 04:10 PM

在夸克軟體中,豐富多樣的功能為用戶帶來了便利和樂趣,其中掃描功能特別受歡迎。透過掃描功能,使用者可以輕鬆掃描二維碼,無論是快速登入網站、新增好友,或是下載應用,都能一鍵完成。那麼,究竟該如何使用夸克二維碼的掃描功能呢,還不知道究竟該如何使用的玩家們千萬不容錯過,快來跟著本站小編為大家帶來的本文詳細了解一下吧。夸克二維碼怎麼掃答案:【夸克】-【三橫圖示】-【拍照掃描】。具體步驟:1、先打開夸克軟體,進入到首頁後我們點選右下角的【三橫圖示】;2、然後在我的頁面中往上滑動到頁面的下方找到【拍照掃描】

掃描出來的文件模糊怎麼處理 掃描出來的文件模糊怎麼處理 Jan 05, 2021 pm 03:09 PM

處理方法:1、在ps軟體中開啟要處理的掃描圖片;2、點擊頂部工具列的「濾鏡」-「銳利化」-「智慧銳利化」;3、在彈出的視窗中,根據需求選擇銳利化半徑,點選“確定”;4、點選“檔案”-“儲存為”,另存為檔案即可。

如何在PHP中使用二維碼掃描? 如何在PHP中使用二維碼掃描? Aug 19, 2023 pm 07:49 PM

如何在PHP中使用二維碼掃描?二維碼掃描在現代生活中已經變得非常常見。無論是支付寶、微信支付或其他各種應用,都可以透過掃描二維碼來進行快速的支付或資訊傳遞。在PHP中,我們也可以很方便地實現二維碼的掃描功能。本文將介紹如何使用PHP進行二維碼掃描,並提供對應的程式碼範例。首先,我們需要一個PHP的二維碼產生函式庫,這裡我們選擇使用"PHPQRCode"函式庫。

C#開發注意事項:安全漏洞掃描與修復 C#開發注意事項:安全漏洞掃描與修復 Nov 23, 2023 am 08:26 AM

在C#開發中,隨著網路技術的不斷發展,安全問題也愈加嚴峻。為保障應用程式的安全性,開發人員需要注意安全漏洞的掃描與修復。本文將從以下幾個面向介紹注意事項。一、注意資料傳輸安全在應用程式中,資料傳輸安全非常重要。特別是在使用網路傳輸資料時,應該盡可能使用安全的協定和加密演算法。為了保障資料的完整性和機密性,建議使用安全通訊端層(SSL)或傳輸層安全性(TLS)等

在 iPhone 的 Notes 應用程式中掃描列印和手寫筆記 在 iPhone 的 Notes 應用程式中掃描列印和手寫筆記 Nov 29, 2023 pm 11:19 PM

2022年,Apple為iPhone和iPad上的Notes應用程式添加了一項新功能,可讓您快速掃描列印或手寫文字並將其儲存為數位文字格式。繼續閱讀以了解其工作原理。在早期版本的iOS和iPadOS上,將文字掃描到Apple的Notes應用程式中需要點擊筆記的文字字段,然後點擊彈出式選單中的「即時文字」選項。然而,Apple在2022年使現實世界的筆記數位化變得更加容易。以下步驟向您展示如何在執行iOS15.4或iPadOS15.4及更高版本的裝置上完成此操作。在iPhone或iPad上,打開“

See all articles