IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

L'accès a mes données SQL rame !


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut L'accès a mes données SQL rame !
    Bonjour

    Je viens vers vous car j'ai un probleme c'est temps ci. J'ai une table SQL trés grosse et l'accés a mes données prennent 20 secondes ...

    La requete en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req2=mysql_query("SELECT id,country,place,gps,type,longueur,niveau,duree,vu FROM places WHERE assoc='0' AND status<5 AND country IN ('FR','ES','IT','GB') ORDER BY vu DESC LIMIT 100");

    Ma table "places" fait 568 214 enregistrement soit 146 Mo


    Voici la structure de ma table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    1	id	        int(10)			                        Non 	Aucune	AUTO_INCREMENT
    2	country	varchar(5)	        utf8_general_ci		Non 	Aucune	
    3	place	        varchar(250)	utf8_general_ci		Non 	Aucune	
    4	gps	        varchar(250)	utf8_general_ci		Oui 	NULL		
    5	localisor	int(10)			                        Non 	0		
    6	type	        varchar(250)	utf8_general_ci		Oui 	NULL		
    7	vu	        int(10)			                        Non 	0		
    8	date_add	datetime			                        Non 	Aucune	
    9	i_custom	text	                utf8_general_ci		Oui 	NULL		
    10	i_wiki 	text	                utf8_general_ci		Oui 	NULL		
    11	i_routard	text	                utf8_general_ci		Oui 	NULL		
    12	i_fute	        text	                utf8_general_ci		Oui 	NULL		
    13	population	int(10)			                        Oui 	NULL		
    14	surface	int(10)			                        Oui 	NULL		
    15	acces	        varchar(250)	utf8_general_ci		Oui 	NULL	
    16	acces1	text	                utf8_general_ci		Oui 	NULL		
    17	duree	        varchar(250)	utf8_general_ci		Oui 	NULL	
    18	longueur	varchar(250)	utf8_general_ci		Oui 	NULL	
    19	niveau	varchar(250)	utf8_general_ci		Oui 	NULL		
    20	circuit	longtext	        utf8_general_ci		Oui 	NULL		
    21	contributor	int(10)			                        Oui 	NULL		
    22	assoc	        int(10)			                        Non 	0		
    23	status	int(1)			                                Non 	0


    Voici un exemple d'enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    579070 	ES 	Requena Casa Medina Requena 	39.484306,-1.098479 	0 	vtt 	0 	2015-07-03 18:07:59 	larga y dura	NULL	NULL	NULL	NULL	NULL	NULL	NULL	2h48 	43,31 	3 	NULL	NULL	0 	0



    Si quelqu'un sait ce qui fait ramer et comment y remédier .....
    Merci par avance

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 263
    Par défaut
    Pour commencer, ta base est-elle indexée ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut
    Le champ id est en PRIMARY KEY
    J'ai rajouté un index sur le champ "country" pour voir, mais ça ne change rien

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 263
    Par défaut
    Essayes d'ajouter des index sur assoc et status
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    Tu dois commencer par créer un ou plusieurs indexes sur ta table et ensuite ajuster ta requête en fonction de l'indexe.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    MySQL est un langage de programmation qu'il faut apprendre au même niveau que PHP (voire plus, puisque c'est le facteur principal de ralentissement des sites).

    Lis le tutorial que tout développeur doit lire: Sers-toi de l'index, Luke!

    C'est la réponse à toutes tes questions!

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    MySQL est un langage de programmation
    Depuis quand ?

Discussions similaires

  1. Problème acces à base de données SQL Server
    Par Senynium X dans le forum ASP.NET
    Réponses: 3
    Dernier message: 29/05/2009, 14h47
  2. Sécurisé l'acces base de données Sql Server
    Par oclone dans le forum Sécurité
    Réponses: 1
    Dernier message: 02/11/2008, 22h04
  3. Réponses: 6
    Dernier message: 22/09/2006, 10h50
  4. [VB]accès au données sql server
    Par yaobi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 03/02/2006, 18h04
  5. Accès à une base de données SQL serveur
    Par TALNA dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/11/2005, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo