Aller au contenu

Mysql : Lenteur Et Blocages


Niala

Messages recommandés

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)

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

}

?>

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

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.