Aller au contenu

Mysql : Lenteur Et Blocages

Featured Replies

Posté(e)

Bonjour à toutes et tous,

Le transfert de tables mySQL (via phpMyAdmin) me pose des porblèmes.

Lenteur : 50'000 INSERTs prennent plus de 10 minutes

Blocages : le 2e envoi de 50'000 INSERTs n'est jamais complété.

Suis-je le seul ?

Une idée ?

Merci d'avance

Alain

  • 3 semaines après...
Posté(e)
  • Auteur

Suis-je le seul ?

Bon, face à l'affluence des réponses à mes questions...

j'ai trouvé une solution pour accélérer la construction des bases mySQL.

Je les prépare sur une machine (rapide...) et je les transferts via un script php trouvé sur le net.

Son nom ? sqlc.php.

Il permet la sauvegarde et la restauration des bases mySQL.

Donc sauvegarde depuis la machine rapide, transfert ftp sur le Synology et restauration.

Facile ! Même moi, j'aurais pu le trouver...

Reste plus qu'à accélérer la création du code html. La recherche depuis 100'000 items d'une base prend beaucoup de temps...

Posté(e)

Malheureusement les Syno ne sont pas reconnu pour leur qualité au niveau de MySQL. Celui ci est extrément lent sur nos NAS et ne convient donc prioritairement qu'on sites web légers ne nécessitant pas un nombre trop important de requetes ou des bdd complexes

  • 2 mois après...
Posté(e)

Malheureusement les Syno ne sont pas reconnu pour leur qualité au niveau de MySQL. Celui ci est extrément lent sur nos NAS et ne convient donc prioritairement qu'on sites web légers ne nécessitant pas un nombre trop important de requetes ou des bdd complexes

Bonjour

j'ai eu le meme probleme, impossible d'inserer 4000 lignes dans une table en utilisant la fonction importer de phpmyadmin

Ca tombait toujours en timeout au bout de 300 secondes.

Et comme je suis un peu con, au lieu de regarder sur le net, j'ai recoder un php qui lit un export SQL et le réimporte en base.

Et etonnemment c'est hyper rapide.

Au cas ou le voici :

<?php


mysql_connect("localhost", "root", "votre_âssword");

mysql_select_db("votre_base");


$myficIN = 'sql.txt'; 


if (!$fp = fopen($myficIN,"r"))

{

	echo "Echec de l'ouverture du fichier";

	exit;

}

else

{

	$i=0;

	$requete="";

	$nbrequete=0;

	while(!feof($fp))

	{

		// On récupère une ligne

		$Ligne = fgets($fp);


		// on vire les commentaires et les lignes vides		

		if (! strstr($Ligne, "--") && strlen($Ligne) >3)

		{

			$i++;


			$requete .= $Ligne;


			// on lit jusqu'a ce qu'on soit à la fin d'une requete

			if (ereg(";\r",$Ligne))

			{

				$nbrequete++;


				mysql_query($requete);

				echo $i . " - requete " . $nbrequete . " executée<br>";

				$requete="";

			}

		}	

	}

	echo "nbr requete=".$nbrequete;

	fclose($fp); // On ferme le fichier

}

?>

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

Qui est en ligne (Afficher la liste complète)

  • Il n’y a aucun utilisateur enregistré actuellement en ligne

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Account

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.