Maison base de données tutoriel 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
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment numériser depuis une imprimante HP vers un PDF Comment numériser depuis une imprimante HP vers un PDF Feb 19, 2024 am 10:06 AM

Après avoir utilisé des imprimantes HP pour numériser des documents, de nombreux utilisateurs souhaitent les numériser directement dans un fichier PDF, mais ils ne savent pas comment le faire avec succès. Il leur suffit d'utiliser un programme de numérisation sur leur ordinateur. Comment numériser une imprimante HP en PDF : 1. Ouvrez d'abord le programme de numérisation sur votre ordinateur. 2. Sélectionnez ensuite « Enregistrer le PDF » dans les paramètres de la page. 3. Appuyez ensuite sur « Scan » dans le coin inférieur droit pour lancer l'analyse du premier fichier. 4. Une fois terminé, cliquez sur l'icône « + » dans le coin inférieur gauche pour ajouter une nouvelle page de numérisation. 5. Vous verrez une nouvelle boîte de numérisation à côté du fichier d'origine. 7. Une fois terminé, sélectionnez « Enregistrer » pour enregistrer ces fichiers PDF.

Comment utiliser Windows Defender pour analyser des dossiers dans Win10. Comment utiliser Windows Defender pour analyser des dossiers dans Win10. Jul 10, 2023 pm 11:17 PM

Windows 10 dispose d'un programme antivirus gratuit appelé Windows Defender, qui offre une protection en temps réel et peut analyser votre ordinateur. Cela vous permet également d'effectuer des analyses personnalisées, grâce auxquelles vous pouvez spécifier des dossiers ou des lecteurs spécifiques à rechercher à la recherche de logiciels malveillants. Étant donné que vous n'avez besoin d'analyser que ce dossier, le temps d'analyse sera beaucoup plus rapide que l'analyse de l'intégralité de la machine. Comme indiqué ci-dessous, nous proposons deux manières de personnaliser l'analyse pour vos dossiers spécifiques. Comment utiliser Windows Defender pour analyser les dossiers à la recherche de logiciels malveillants dans Win10. Pour analyser un dossier individuel et ses sous-dossiers, le moyen le plus simple consiste à cliquer avec le bouton droit sur le dossier et à sélectionner Analyser avec Windows Defender.

Comment NetEase Cloud Music analyse la musique locale_NetEase Cloud Music analyse le didacticiel de musique locale Comment NetEase Cloud Music analyse la musique locale_NetEase Cloud Music analyse le didacticiel de musique locale Mar 25, 2024 pm 10:21 PM

1. Ouvrez NetEase Cloud Music, cliquez sur Mon, puis cliquez sur Musique locale. 2. Cliquez sur les trois points dans le coin supérieur droit. 3. Cliquez sur Analyser la musique locale. 4. Cliquez sur Paramètres de numérisation ci-dessous. 5. Faites glisser votre doigt vers la gauche pour filtrer les fichiers audio de moins de 60 secondes. 6. Revenez en arrière et cliquez sur Analyse complète pour analyser toute la musique locale.

Comment scanner le code QR Quark Comment scanner le code QR Quark Feb 27, 2024 pm 04:10 PM

Dans le logiciel Quark, une variété de fonctions apportent commodité et plaisir aux utilisateurs, parmi lesquelles la fonction de numérisation est particulièrement populaire. Grâce à la fonction de numérisation, les utilisateurs peuvent facilement scanner le code QR, qu'il s'agisse de se connecter rapidement au site Web, d'ajouter des amis ou de télécharger des applications, tout peut être fait en un seul clic. Alors, comment utiliser la fonction de numérisation du code QR Quark ? Les joueurs qui ne savent toujours pas s'en servir ne doivent pas la manquer. Venez suivre l'article apporté par l'éditeur de ce site pour en savoir plus. Comment scanner le code QR Quark et répondre : [Quark]-[Trois icônes horizontales]-[Prendre une photo et numériser]. Étapes spécifiques : 1. Ouvrez d'abord le logiciel Quark, et après avoir accédé à la page d'accueil, cliquez sur les [trois icônes horizontales] dans le coin inférieur droit ; 2. Faites ensuite glisser vers le haut sur Ma page jusqu'au bas de la page pour trouver [Photo Scan ]

Comment gérer les documents numérisés flous Comment gérer les documents numérisés flous Jan 05, 2021 pm 03:09 PM

Méthode de traitement : 1. Ouvrez l'image numérisée à traiter dans le logiciel PS ; 2. Cliquez sur "Filtre" - "Affûtage" - "Affûtage intelligent" dans la barre d'outils supérieure 3. Dans la fenêtre contextuelle, sélectionnez en fonction de votre choix ; Aiguisez le rayon et cliquez sur "OK" ; 4. Cliquez sur "Fichier" - "Enregistrer sous" et enregistrez-le sous forme de fichier.

Comment analyser et réparer les vulnérabilités de sécurité dans les projets de développement Java Comment analyser et réparer les vulnérabilités de sécurité dans les projets de développement Java Nov 03, 2023 pm 02:17 PM

Comment analyser et réparer les vulnérabilités de sécurité dans les projets de développement Java Avec le développement rapide d'Internet, le développement Java est devenu le premier choix pour de nombreuses entreprises et particuliers. Et les enjeux de sécurité qui en découlent deviennent progressivement importants. Les risques potentiels que les vulnérabilités de sécurité font peser sur les projets ne peuvent être ignorés. Par conséquent, il est crucial d’analyser et de réparer les failles de sécurité dans les projets de développement Java. Cet article présentera quelques méthodes et outils pour aider les développeurs à analyser et réparer efficacement les vulnérabilités de sécurité. Comprenez les vulnérabilités de sécurité courantes avant d’analyser et de corriger les vulnérabilités de sécurité.

Comment utiliser la numérisation de code QR en PHP ? Comment utiliser la numérisation de code QR en PHP ? Aug 19, 2023 pm 07:49 PM

Comment utiliser la numérisation de code QR en PHP ? La numérisation de codes QR est devenue très courante dans la vie moderne. Qu'il s'agisse d'Alipay, WeChat Pay ou de diverses autres applications, vous pouvez rapidement payer ou transférer des informations en scannant le code QR. En PHP, nous pouvons également facilement implémenter la fonction de numérisation de code QR. Cet article expliquera comment utiliser PHP pour l'analyse de code QR et fournira des exemples de code correspondants. Tout d'abord, nous avons besoin d'une bibliothèque de génération de code PHP QR. Ici, nous choisissons d'utiliser la bibliothèque "PHPQRCode".

Comment scanner les codes QR sur iPhone Comment scanner les codes QR sur iPhone Jul 20, 2023 am 09:13 AM

Apple a intégré cette fonctionnalité pratique dans l'appareil, la rendant facilement accessible depuis l'appareil photo de votre iPhone, ce qui vous permettra de scanner automatiquement les codes QR sur votre appareil. Le code QR signifie Quick Response Code et est essentiellement un code-barres bidimensionnel qui peut être facilement scanné et interprété par une variété de smartphones et autres appareils électroniques équipés de caméras intégrées. Après avoir scanné un code QR, les utilisateurs sont généralement dirigés vers un site Web spécifique ou invités à activer des fonctionnalités spécifiques au sein de l'application. Cette fonctionnalité incroyablement pratique est de plus en plus courante dans les smartphones modernes, y compris l'iPhone d'Apple, et constitue un moyen pratique pour les utilisateurs d'accéder à des informations, des services ou des fonctionnalités avec un minimum d'effort. De nombreuses entreprises utilisent cette fonctionnalité sur des produits physiques, où vous scannez un code QR sur leur produit et

See all articles