Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2005, 07h35   #1
Membre actif
 
Avatar de Jean_Benoit
 
Inscription : juin 2004
Messages : 495
Détails du profil
Informations personnelles :
Âge : 58

Informations forums :
Inscription : juin 2004
Messages : 495
Points : 182
Points : 182
Par défaut [SGBD] [PHP/MySQL Query]Quelle est la taille du tableau retourné?

Bonjour,
Je viens de coder ma première requête PHP/MySQL dans Wamp.
J'utilise d'abord:
$result = mysql_query( $query, $database )
Ensuite
$row = mysql_fetch_row( $result );
Il semble que le select extrait les données dans le tableau $row.
Mais quelle est la taille max de ce tableau?
Si j'ai 100 000 lignes dans une table, MySQL ne va pas tout extraire en mémoire??
J'ai regardé dans la doc du site php mais j'ai rien trouvé. :
Bonne journée à tous les phpiens!
Jean_Benoit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 07h43   #2
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
$result est une resource mysql, donc il n'a pas la taille d'un tableau. Ca correspond a des données qui sont dans la RAM du serveur et tu y accede avec mysql_fetch_row... donc oui, il met tout en memoire... a toi de faire des LIMIT debut, fin si tu veux qu'une portion du resultat, ou de filtrer les champs, etc...

si tu veux le nombre de lignes retournées, il faut faire : mysql_num_rows($result)
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 08h58   #3
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
Non il ne met pas tout en mémoire, mysql_fetch_array() lit les lignes de te requète une par une en déplacant une pointeur dans la mémoire alouée au résultat de la requète, mais ce n'est pas la même mémoire utilisée par PHP.

Tant que tu lis ton tableau ligne par ligne ça va.
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français.

Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 10h53   #4
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
ca ne fait pas partie des 8Mo alloué a PHP alors ? c'est une memoire attribuée coté mysql ? quelle a sa limite en général ? c'est bien une memoire par utilisateur j'espere, et pas une memoire partagée ;o)

ca m'interesserait aussi de savoir
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 10h54   #5
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
Je n'en suis pas sur à 100% mais normalement la mémoire alouée par MySQL est indépendante de celle allouée pour PHP
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français.

Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 12h58   #6
Membre actif
 
Avatar de Jean_Benoit
 
Inscription : juin 2004
Messages : 495
Détails du profil
Informations personnelles :
Âge : 58

Informations forums :
Inscription : juin 2004
Messages : 495
Points : 182
Points : 182
Par défaut [MySQL/PHP $rows]

Je vais tenter une manip en écrivant une procédure mysql_php.
Je vais insérer 1000 lignes dans une table test, puis faire un select.
Et ainsi de suite.
Je verrai bien à partir de quand ça bloque, si ça bloque.
Mais pour ça il me faut MySQL 5, je crois, car j'ai wamp5 qui installe la 4.13a et je ne suis pas sûr, mais dans la 4 on n'a pas les procédures??
Dur dur d'être un newbie :o
Jean_Benoit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 13h10   #7
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
MySQL5 est payant
__________________
Testez le forum Fire Soft Board, un forum libre, gratuit et français.

Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 14h01   #8
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
si MySQL retourne un résultat qui fait 8Mo, c'est PHP qui stocke ce résultat et si tu a une limite de mémoire avec PHP ça possera un problème
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2005, 19h10   #9
Membre actif
 
Avatar de Jean_Benoit
 
Inscription : juin 2004
Messages : 495
Détails du profil
Informations personnelles :
Âge : 58

Informations forums :
Inscription : juin 2004
Messages : 495
Points : 182
Points : 182
Par défaut [MySQL-PHP limite de fetch]

Ok merci pour l'info. Il faudra que je voie si on peut flusher la mémoire PHP des enregistrements déjà traités. Mais mon bouquin PHP n'arrive que dans 2 semaines, d'ici là je vais bosser sur les pages dynamiques et tester OLAP.
Allélébleux!!
Jean_Benoit est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h48.


 
 
 
 
Partenaires

Hébergement Web