|
Bas de page | |
---|---|
Auteur | Sujet : connexion php<->mysql et performances en fonction des requetes |
Publicité | Posté le 28-07-2005 à 23:15:43 |
mrbebert | Si tu as besoin de 50 lignes, tu récupères 50 lignes |
matthieu_phpmv | euh... sauf que comme j'ai 50 ids différents, tu voudrais que je fasse |
matthieu_phpmv | oui tu as raison, c'est ça !
|
Publicité | Posté le 29-07-2005 à 02:08:33 |
mrbebert | En remplacant mysql_query par mysql_unbuffered_query, le comportement n'est plus le même.
Déjà, la requête est nettement plus rapide qu'avec mysql_query (normal)
Là, c'est curieux Message édité par mrbebert le 29-07-2005 à 10:52:02 |
Arjuna Aircraft Ident.: F-MBSD | c'est chelou le fonctionnement de PHP
|
FlorentG | C'est la différence query/unbuffered_query : la première permet de parcourir le dataset hors connecté, de s'y balader. L'unbuffered_query oblige à être connecté, et se comporte style curseur en avant : impossible de fouiller n'importe où. Du coup performances max.
|
matthieu_phpmv | Pourquoi si il faut mieux utiliser unbuffered query, peu de gens en parlent ?
|
FlorentG | J'en sais rien . Y'a plein de bizarreries :
Bref, plein de trucs à la con relayés par tout le monde... |
mrbebert |
Ca à quand même certaines contraintes.
Ca va pas marcher comme prévu. Tu lis le 1er enregistrement de $res1, puis la 2ème requête annule la 1ère requête. Donc, le 2ème appel à mysql_fetch_row() va renvoyer false alors que tu n'as pas lu tous les résultats.
Message édité par mrbebert le 29-07-2005 à 14:26:22 |
FlorentG | Oui, y'a un lock sur la table |
FlorentG | J'avais oublié ce paramètre |
Arjuna Aircraft Ident.: F-MBSD | en fait, le buffered est très intéressant en cas de requêtes qui ne retournent qu'un petit jeu de données : ainsi, on ne noie pas le serveur web avec des données, et le traîtement ensuite en mémoire est instantanné, alors que le transfert réseau a été très court.
Message édité par Arjuna le 29-07-2005 à 15:00:11 |
matthieu_phpmv | Ah oui mais si il lock les tables ça limite tout de suite l'intérêt de la chose également. |
Arjuna Aircraft Ident.: F-MBSD | quand je regarde tout ça, je me dis que finalement, ADO avec OLEDB/ODBC, même si c'est pas ce qu'il y a de mieu niveau performances, c'est quand même vachement moins gore que les libs de PHP...
|
FlorentG |
|
The-Shadow DéveloppeurT'as été voir dans ton profil? |
|
Arjuna Aircraft Ident.: F-MBSD | Ben si, au contraire, sur le web, on utilise très généralement des LIMIT, donc le unbuffered ne représente aucun danger. |
The-Shadow DéveloppeurT'as été voir dans ton profil? | ça ne te donne pas pour autant le nombre de résultat retourné.
|
FlorentG |
|
The-Shadow DéveloppeurT'as été voir dans ton profil? |
|
FlorentG | Nanan, pas en priorité, mais pour un truc ultra-simpliste, autant y aller en unbuffered |
The-Shadow DéveloppeurT'as été voir dans ton profil? | Ha okey, on est d'accord alors.
|
FlorentG | Oui. Champagne.
|
matthieu_phpmv | En fait plus haut j'ai mal exposé mon problème.
|
Beegee | SELECT id, name FROM t WHERE id IN (1,2,5,6);
|
The-Shadow DéveloppeurT'as été voir dans ton profil? | c'est pas indispensable si tu ne souhaites pas récupérer l'id par la suite.
|
matthieu_phpmv | oula beegee je crois que tu as raison, merci
|
Publicité | Posté le |
Sujets relatifs | |
---|---|
Erreur "Lost connection to MySQL server during query in" | [PHP - MySQL] Récupérer choix d'un "enum" dans BDD |
MySql Full Text Search | [RESOLU] [MySQL] Requête avec conditions |
Optimiser mon serveur MySQL | Tentative de mini-bench comparant MySQL et SQL Server |
[MySQL] Update multitables | vba access mysql |
Amélioration de performances d'une base SQL Server 2000 | [javascript] appel de fonction |
Plus de sujets relatifs à : connexion php<->mysql et performances en fonction des requetes |