


Utilisation de count() dans une grande table mysql et optimisation de count() dans mysql
Le contenu que cet article vous apporte concerne l'utilisation de count() dans les grandes tables MySQL et l'optimisation de count() dans MySQL. Il a une certaine valeur de référence. J'espère que les amis dans le besoin pourront s'y référer. être utile pour vous aidé.
Une seule table contient plus de 60 millions de données, mais vous ne pouvez pas la diviser. Vous devez compter séparément la quantité de données contenues dans la table, le nombre de produits A et le nombre de produits B
.Avant l'optimisation, la structure de la table est la suivante. Afin de masquer le contenu, j'ai flouté les champs correspondants
CREATE TABLE `xxxx` ( `link` varchar(200) DEFAULT NULL, `test0` varchar(500) DEFAULT NULL, `test1` varchar(50) DEFAULT NULL, `test2` int(11) DEFAULT NULL, `test3` varchar(20) DEFAULT NULL, `test4` varchar(50) DEFAULT NULL, `test5` varchar(50) NOT NULL, `inserttime` datetime DEFAULT NULL, `test6` bit(1) NOT NULL DEFAULT b'0', `A` bit(1) NOT NULL DEFAULT b'0', `B` bit(1) NOT NULL DEFAULT b'0' , PRIMARY KEY (`test5`), KEY `test6` (`test6`) USING BTREE, KEY `A` (`A`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Il s'agit d'une table InnoDB classique, donc son nombre (*) est comparé. à L'efficacité de MyISAM est beaucoup plus lente et le nombre de lignes affichées par InnoDB n'est pas très précis, je dois donc le compter ici. Il existe plusieurs stratégies
Un total de 61 500 000 données
compte. (*) consommation Temps 1539,499s
count(1) Prend du temps 907,581s
count(A) Compte l'index.
count(test6) Compte la clé primaire.
Sans exception, comme ce tableau n'est pas bien optimisé, chacun des éléments ci-dessus prendra des milliers de secondes, ce qui nous est intolérable.
Nous allons maintenant commencer à analyser et à résoudre ce problème .
On s'attend à ce que le nombre (*) de la table entière soit normal dans les 200 secondes, bon dans les 100 et excellent dans les 50.
Tout d'abord, j'en ai extrait test6 et formé une table séparée. Faites-le fonctionner
Un total de 61 500 000 données
count(*) prend 10,238s
count(1) prend 8,710s
count. (test6) Droite Le décompte de la clé primaire prend 12,957 s
parmi lesquels count(1)
est le plus efficace, et est plus rapide que le plus lent count(pk)
de 52,0%
Utilisez count (1) Au lieu de count(*) pour récupérer.Recommandations associées :
Implémentation du code de la classification Infinitus dans MySQL
Résumé des méthodes d'optimisation des bases de données Mysql (à lire absolument)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Pour se connecter à une base de données MySQL locale à l'aide de NAVICAT: créez une connexion et définissez le nom de connexion, l'hôte, le port, le nom d'utilisateur et le mot de passe. Testez la connexion pour vous assurer que les paramètres sont corrects. Enregistrez la connexion. Sélectionnez une nouvelle connexion dans la liste de connexions. Double-cliquez sur la base de données à laquelle vous souhaitez vous connecter.

不同数据库系统添加列的语法为 : MySQL: alter table table_name Ajouter Column_name data_type; postgresql: alter table table_name Add Column Column_name data_type; Oracle: alter table table_name add (chronn_name data_type); sql server: alter alter table_name Add Column_name data__

En tant que professionnel des données, vous devez traiter de grandes quantités de données provenant de diverses sources. Cela peut poser des défis à la gestion et à l'analyse des données. Heureusement, deux services AWS peuvent aider: AWS Glue et Amazon Athena.

La récupération des lignes supprimées directement de la base de données est généralement impossible à moins qu'il n'y ait un mécanisme de sauvegarde ou de retour en arrière. Point clé: Rollback de la transaction: Exécutez Rollback avant que la transaction ne s'engage à récupérer les données. Sauvegarde: la sauvegarde régulière de la base de données peut être utilisée pour restaurer rapidement les données. Instantané de la base de données: vous pouvez créer une copie en lecture seule de la base de données et restaurer les données après la suppression des données accidentellement. Utilisez la déclaration de suppression avec prudence: vérifiez soigneusement les conditions pour éviter la suppression accidentelle de données. Utilisez la clause WHERE: Spécifiez explicitement les données à supprimer. Utilisez l'environnement de test: testez avant d'effectuer une opération de suppression.

Ajouter des colonnes dans l'outil graphique SQL: sélectionnez le tableau dans les colonnes que vous souhaitez ajouter. Cliquez avec le bouton droit et sélectionnez "Alter Table" ou des options similaires. Définit les propriétés de la nouvelle colonne (nom, type de données, longueur ou s'il est vide). Spécifie la valeur par défaut de la nouvelle colonne, le cas échéant. Sélectionnez le type de données approprié pour éviter les erreurs de données. Utilisez des noms de colonne significatifs. Considérez l'impact des performances lors de l'exécution d'opérations d'addition de colonnes sur de grandes tables. Sauvegardez toujours la base de données avant l'opération pour éviter la perte de données.

Navicat Premium est un outil de gestion de base de données qui peut être activé pour accéder à ses fonctionnalités. Les étapes d'activation comprennent: l'obtention de la clé de licence, l'installation de Navicat Premium et l'activation avec la clé de licence. Lorsque vous rencontrez des problèmes pendant l'activation, veuillez vérifier si l'entrée de clé est correcte et assurez-vous que le réseau est connecté. S'il ne peut toujours pas être résolu, veuillez contacter le support technique. Chaque clé de licence ne peut activer qu'une seule copie, la licence permanente n'expirera pas et la licence d'abonnement devra être renouvelée.
