Optimiser les index de table dans MySQL
P粉841870942
P粉841870942 2023-07-25 09:47:08
0
1
474

J'ai le tableau suivant (recherches de suivi) :

CREATE TABLE `recherches` ( `id` int(10) non signé NOT NULL AUTO_INCREMENT, `supprimé` tinyint(1) non signé NOT NULL, `query` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `userId` int(10) non signé NOT NULL, `connectionId` int(10) non signé NOT NULL, `pluginId` int(10) non signé NOT NULL, CLÉ PRIMAIRE (`id`), CLÉ `clé, supprimée` (`publicId`,`supprimé`), CLÉ `supprimé, userId` (`supprimé`,`userId`), CLÉ `supprimé,connectionId,pluginId` (`supprimé`,`connectionId`,`pluginId`) ) MOTEUR=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ≪/pré> 

Parfois, j'exécute une requête qui renvoie toutes les requêtes effectuées par un utilisateur spécifique. Dans ce cas, j'ai un index avec les colonnes suivantes : supprimé, userId.

D'autres fois, j'exécute des requêtes qui renvoient toutes les requêtes exécutées par une "connexion" et un "plug-in" spécifiques. Dans ce cas, j'ai un index avec les colonnes suivantes : supprimé, connectionId, pluginId.

La taille des index augmente considérablement. J'essaie donc de comprendre comment mieux les optimiser.

Est-il utile de fusionner ces deux index en un seul ? Par exemple, il peut contenir les colonnes suivantes : deleted,userId,connectionId,pluginId< ;/p>

Je ne sais pas si cela réduira la taille de l'index tout en répondant aux besoins de la requête.

P粉841870942
P粉841870942

répondre à tous (1)
P粉269847997

Vous pouvez utiliser un index plusieurs fois, mais uniquement de gauche à droite, sans sauter aucun champ. Par exemple : index (champ A, champ B, champ C), alors vous pouvez utiliser cet index pour interroger le champ A, ou interroger le champ A et le champ B, ou interroger le champ A, le champ B et le champ C, mais il ne peut pas être utilisé Accès au champ A et au champ C ou au champ B et au champ C.

Ceci ne s'applique donc pas à votre requête.


    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!