Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion lente MySQL

Chaque fois qu'une page B-Tree est pleine, elle doit être divisée, ce qui prend un certain temps. Les performances d'insertion sont également plus lentes à mesure que vous avez d'index, car chaque insertion met à jour tous les index. 9000 a déjà indiqué correctement que votre index (horodatage, personnel) couvre l'index (horodatage) dans 95 % des cas, il existe de très rares cas où un index à colonne unique (horodatage) sera requis pour de meilleures performances.

Certaines tâches périodiques en arrière-plan peuvent parfois ralentir une ou deux insertions au cours d'une journée.

De plus, une autre raison des retards est simplement l'activité de la base de données. Si vous avez des transactions qui verrouillent des pages que l'insertion doit mettre à jour (ou diviser en pages), l'insertion doit attendre que les verrous en écriture soient acquiescés. Ces autres activités n'ont même pas besoin de démarrer réellement une transaction, et elles n'ont même pas besoin d'être un conflit de lecture-lecture; vous pouvez également avoir un conflit d'écriture-écriture ou une file d'attente constituée à partir d'une activité intense.

Et la dernière raison possible - votre serveur de base de données manque de ressources, qu'il s'agisse de mémoire, de CPU ou d'E/S réseau. Un serveur ne peut pas faire grand-chose, il devra donc attendre jusqu'à ce qu'il dispose de suffisamment de ressources.