Maison base de données tutoriel mysql mysql中索引使用一些优化方法与注意事项

mysql中索引使用一些优化方法与注意事项

Jun 07, 2016 pm 05:51 PM
mysql优化 mysql索引

本文章是从网上收集了大量的关于怎么用mysql中的索引来优化自己民的数据库吧,同时也介绍了索引列一些不能出现的情况等。

下边是在网上找到的一些资料,保留下来备用吧

1,创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。

2,复合索引
比如有一条语句是这样的:

 代码如下 复制代码
* from users where area=’beijing’ and age=22;

如果我们是在area和age上分别创建单个索引的话,由于查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。

3,索引不会包含有NULL值的列
只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在设计时不要让字段的默认值为NULL。

4,使用短索引
对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的 列,如果在前10 个或20 个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。

5,排序的索引问题
mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。

6,like语句操作
一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。

7,不要在列上进行运算

 代码如下 复制代码
select * from users where YEAR(adddate)

将在每个行上进行运算,这将导致索引失效而进行全表扫描,因此我们可以改成

 代码如下 复制代码

select * from users where adddate

8,不使用NOT IN和操作

NOT IN和操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替,id3则可使用id>3 or id

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)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Plusieurs situations d'échec de l'index MySQL Plusieurs situations d'échec de l'index MySQL Feb 21, 2024 pm 04:23 PM

Situations courantes : 1. Utiliser des fonctions ou des opérations ; 2. Conversion de type implicite ; 3. Utiliser différent de (!= ou <>) ; 4. Utiliser l'opérateur LIKE et commencer par un caractère générique ; Valeur : 7. Faible sélectivité de l'indice ; 8. Principe du préfixe le plus à gauche de l'indice composite ; 9. Décision de l'optimiseur ;

Comment optimiser la fonction AVG via MySQL pour améliorer les performances Comment optimiser la fonction AVG via MySQL pour améliorer les performances May 11, 2023 am 08:00 AM

Comment améliorer les performances en optimisant la fonction AVG dans MySQL MySQL est un système de gestion de base de données relationnelle populaire qui contient de nombreuses fonctions et fonctions puissantes. La fonction AVG est largement utilisée pour calculer des moyennes, mais comme elle doit parcourir l'ensemble des données, elle entraînera des problèmes de performances dans le cas de données à grande échelle. Cet article présentera en détail comment optimiser la fonction AVG via MySQL pour améliorer les performances. 1. Utiliser les index Les index constituent la partie la plus importante de l'optimisation MySQL.

Dans quelles circonstances l'index MySQL échouera-t-il ? Dans quelles circonstances l'index MySQL échouera-t-il ? Aug 09, 2023 pm 03:38 PM

Les index MySQL échoueront lors d'une requête sans utilisation de colonnes d'index, de types de données incompatibles, d'une utilisation inappropriée des index de préfixe, de l'utilisation de fonctions ou d'expressions pour les requêtes, d'un ordre incorrect des colonnes d'index, de mises à jour fréquentes des données et d'un trop grand ou trop peu d'index. 1. N'utilisez pas de colonnes d'index pour les requêtes. Afin d'éviter cette situation, vous devez utiliser des colonnes d'index appropriées dans la requête. 2. Les types de données ne correspondent pas. Lors de la conception de la structure de la table, vous devez vous assurer que les colonnes d'index correspondent. types de données de la requête ; 3. , Utilisation inappropriée de l'index de préfixe, vous pouvez utiliser l'index de préfixe.

Règles de correspondance du préfixe gauche de l'index MySQL Règles de correspondance du préfixe gauche de l'index MySQL Feb 24, 2024 am 10:42 AM

Principe de l'indexation MySQL le plus à gauche et exemples de code Dans MySQL, l'indexation est l'un des moyens importants pour améliorer l'efficacité des requêtes. Parmi eux, le principe de l'index le plus à gauche est un principe important que nous devons suivre lors de l'utilisation des index pour optimiser les requêtes. Cet article présentera le principe du principe le plus à gauche de l'index MySQL et donnera quelques exemples de code spécifiques. 1. Principe du principe de l'index le plus à gauche Le principe de l'index le plus à gauche signifie que dans un index, si la condition de requête est composée de plusieurs colonnes, alors seule la requête basée sur la colonne la plus à gauche de l'index peut satisfaire pleinement les conditions de requête.

Quelles sont les classifications des index MySQL ? Quelles sont les classifications des index MySQL ? Apr 22, 2024 pm 07:12 PM

Les index MySQL sont divisés dans les types suivants : 1. Index ordinaire : correspond à la valeur, à la plage ou au préfixe ; 2. Index unique : garantit que la valeur est unique 3. Index de clé primaire : index unique de la colonne de clé primaire ; index clé : pointe vers la clé primaire d'une autre table ; 5. Index en texte intégral : recherche en texte intégral ; 6. Index de hachage : recherche par correspondance égale 7. Index spatial : recherche géospatiale 8. Index composite : recherche basée sur plusieurs ; Colonnes.

Expliquez différents types d'index MySQL (B-Tree, hachage, texte intégral, spatial). Expliquez différents types d'index MySQL (B-Tree, hachage, texte intégral, spatial). Apr 02, 2025 pm 07:05 PM

MySQL prend en charge quatre types d'index: B-Tree, hachage, texte intégral et spatial. 1. L'indice de tree B est adapté à la recherche de valeur égale, à la requête de plage et au tri. 2. L'indice de hachage convient aux recherches de valeur égale, mais ne prend pas en charge la requête et le tri des plages. 3. L'index de texte complet est utilisé pour la recherche en texte intégral et convient pour le traitement de grandes quantités de données de texte. 4. L'indice spatial est utilisé pour la requête de données géospatiaux et convient aux applications SIG.

Quand une analyse de table complète pourrait-elle être plus rapide que d'utiliser un index dans MySQL? Quand une analyse de table complète pourrait-elle être plus rapide que d'utiliser un index dans MySQL? Apr 09, 2025 am 12:05 AM

La numérisation complète de la table peut être plus rapide dans MySQL que l'utilisation d'index. Les cas spécifiques comprennent: 1) le volume de données est petit; 2) Lorsque la requête renvoie une grande quantité de données; 3) Lorsque la colonne d'index n'est pas très sélective; 4) Lorsque la requête complexe. En analysant les plans de requête, en optimisant les index, en évitant le sur-index et en maintenant régulièrement des tables, vous pouvez faire les meilleurs choix dans les applications pratiques.

Stratégies d'optimisation des performances pour la mise à jour des données et la maintenance des index PHP et MySQL et leur impact sur les performances Stratégies d'optimisation des performances pour la mise à jour des données et la maintenance des index PHP et MySQL et leur impact sur les performances Oct 15, 2023 pm 12:15 PM

Stratégies d'optimisation des performances pour la mise à jour des données et la maintenance des index PHP et MySQL et leur impact sur les performances Résumé : Dans le développement de PHP et MySQL, les index sont un outil important pour optimiser les performances des requêtes de base de données. Cet article présentera les principes de base et l'utilisation des index, et explorera l'impact des index sur les performances sur la mise à jour et la maintenance des données. Parallèlement, cet article fournit également des stratégies d'optimisation des performances et des exemples de code spécifiques pour aider les développeurs à mieux comprendre et appliquer les index. Principes de base et utilisation des index Dans MySQL, un index est un nombre spécial

See all articles