Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3777 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  78  79  80  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1367949
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 17:34:24  profilanswer
 

Reprise du message précédent :

Sh@rdar a écrit :

avec un traitement, c'était plus rapide chez moi, sans traitement  kif-kif [:spamafote]
 
du coup tu peux virer ton mysql_num_rows puisque $i prendra la valeur en sortie de while()


Bah, le mysql_num_rows, ça me sert à avoir le nombre total de chien, maintenant, si tu me dis que ça va énormément moins vite qu'un count($row_lig), je le vire, je suis pas contrariant et je te fais confiance. :D
 
 

FlorentG a écrit :

Voilà le code source de mysql_data_seek (MySql 4.0.27) :

/**************************************************************************
  Move to a specific row and column
**************************************************************************/
 
void STDCALL
mysql_data_seek(MYSQL_RES *result, my_ulonglong row)
{
  MYSQL_ROWS *tmp=0;
  DBUG_PRINT("info",("mysql_data_seek(%ld)",(long) row));
  if (result->data)
    for (tmp=result->data->data; row-- && tmp ; tmp = tmp->next) ;
  result->current_row=0;
  result->data_cursor = tmp;
}


 
Un p'tit for, deux p'tits trucs... Autrement dit, vraiment que dalle :)


Bon, je comprends pas tout, mais si tu me dis "vraiment que dalle", ça me va. :D
 
 
Bon, reste plus qu'à appliquer ça sur toutes les pages du WikiPedi, ça va être costaud.  :cry:

mood
Publicité
Posté le 16-05-2006 à 17:34:24  profilanswer
 

n°1367960
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 17:37:14  profilanswer
 

bin si tu incrémente $i à chaque ligne de la table, t'auras la même valeur que si tu compte avant :D
 
donc si tu veux la jouer optimiseur à donf, t'économise un appel :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1367964
FlorentG
Posté le 16-05-2006 à 17:38:10  profilanswer
 

Finalement, c'est bien les softs open source, on peut voir si des trucs peuvent tout faire ramer ou pas [:dawa]

n°1367972
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 17:41:00  profilanswer
 

Sh@rdar a écrit :

bin si tu incrémente $i à chaque ligne de la table, t'auras la même valeur que si tu compte avant :D
 
donc si tu veux la jouer optimiseur à donf, t'économise un appel :D


Tu vas rire, mais j'avais remplacé ma boucle while et j'avais oublié de remettre $i++.  
Tain, j'ai honte d'être aussi bête des fois.  :sweat:  
 
Bon, du coup, ton optimisation du while à la place de for est moins efficace mais un petit peu efficace quand même, donc je garde. :D
 

n°1367979
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 17:42:47  profilanswer
 

FlorentG a écrit :

Finalement, c'est bien les softs open source, on peut voir si des trucs peuvent tout faire ramer ou pas [:dawa]


Oui mais non, d'abord parce que si je filais les sources, tout le monde se moquerais de moi et ensuite, parce que dans le monde du cocker, j'ai beaucoup d'"ennemi", de gens qui m'en veulent alors que je leur ai rien fait, juste d'être numéro un par pur hasard et que j'ai pas envie de retrouver le truc sur leur site à ces batards. :D

n°1367984
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 17:45:06  profilanswer
 

bin c'est justement à cause de cette affectation, le while est justement fait pour s'en passer [:spamafote]
 
t'en es à quoi là parce qu'en relisant le code plus haut je pige plus trop
 
ça me semble vachement étrange en fait, tu fais une requête sur les id et une autre pour les noms ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1367985
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 17:45:31  profilanswer
 

The-Shadow a écrit :

Oui mais non, d'abord parce que si je filais les sources, tout le monde se moquerais de moi et ensuite, parce que dans le monde du cocker, j'ai beaucoup d'"ennemi", de gens qui m'en veulent alors que je leur ai rien fait, juste d'être numéro un par pur hasard et que j'ai pas envie de retrouver le truc sur leur site à ces batards. :D


 
 
nan mais il parlait de MySQL hein [:dawa]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1367986
Proov
Art & Science
Posté le 16-05-2006 à 17:46:25  profilanswer
 

ça y'est le créateur du topic pete un cable encore [:pingouino]

n°1367991
stiffler
Lâche mon profil putain ! :o
Posté le 16-05-2006 à 17:47:17  profilanswer
 

je suis parfaitement sain mentalement [:le poney de mr pink]

n°1367992
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 17:48:15  profilanswer
 

tu cherche vraiment à le pousser à bout ? :whistle:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
mood
Publicité
Posté le 16-05-2006 à 17:48:15  profilanswer
 

n°1367994
Proov
Art & Science
Posté le 16-05-2006 à 17:48:39  profilanswer
 

ce smiley :ouch:  
 
 
moi je sors de là, ça devient malsain ici [:totoz]

n°1367997
stiffler
Lâche mon profil putain ! :o
Posté le 16-05-2006 à 17:49:54  profilanswer
 

Sh@rdar a écrit :

tu cherche vraiment à le pousser à bout ? :whistle:


tu parles a qui ? [:dawak]
parceque pousser degueu à bout ça va pas être bien dur

n°1367998
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 17:49:56  profilanswer
 

Sh@rdar a écrit :

nan mais il parlait de MySQL hein [:dawa]


Ho putain, désolé, j'suis fatigué, toutes ses optimisations, ça fait faire trop de sport à mes neurones.  :sweat:  
 
 
Sinon, la dernière optimisation en date ressemble à ça :

Code :
  1. $sql='SELECT * FROM chiens ORDER BY nom';
  2. $tschiens=sql($sql,'erreur recup tous les pedigrees');
  3. $nbchiens=mysql_num_rows($tschiens);
  4. $i=0;
  5. while($recup=mysql_fetch_row($tschiens)) {
  6. $id=$recup[0];
  7. $row_lig[$id]=$i;
  8. $i++;
  9. }


 
Ha oui, ma fonction sql(), c'est une routine qui vérifie la requête tout ça et qui m'envoie un mail quand quelqu'un tente un truc louche, comme l'autre fois le petit malin d'HFR qui a essayé de pirater mon site.  :whistle:  

n°1368002
FlorentG
Posté le 16-05-2006 à 17:52:00  profilanswer
 

The-Shadow a écrit :

Ho putain, désolé, j'suis fatigué, toutes ses optimisations, ça fait faire trop de sport à mes neurones.  :sweat:  
 
 
Sinon, la dernière optimisation en date ressemble à ça :

Code :
  1. $sql='SELECT * FROM chiens ORDER BY nom';
  2. $tschiens=sql($sql,'erreur recup tous les pedigrees');
  3. $nbchiens=mysql_num_rows($tschiens);
  4. $i=0;
  5. while($recup=mysql_fetch_row($tschiens)) {
  6. $id=$recup[0];
  7. $row_lig[$id]=$i;
  8. $i++;
  9. }


 
Ha oui, ma fonction sql(), c'est une routine qui vérifie la requête tout ça et qui m'envoie un mail quand quelqu'un tente un truc louche, comme l'autre fois le petit malin d'HFR qui a essayé de pirater mon site.  :whistle:


Si tu veux enculer des mouches, tu peux modifier :

while($recup=mysql_fetch_row($tschiens)) {
 $row_lig[$recup[0]]=$i++;
}


Plus besoin de la variable $id [:dawa] Et on gagne quelques octets [:dawa]

n°1368010
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 17:54:11  profilanswer
 

Florent, épouse moi :love: :love: :love:
 
 
Faudrais un site qui répertorie ce genre de logique d'optimisation pour les newb comme moi qui font sur 15 lignes ce qui peut se faire en 2.

n°1368029
FlorentG
Posté le 16-05-2006 à 18:00:31  profilanswer
 

Et pour faire encore plus speed speed speed :

$result = mysql_query('SELECT `id` FROM `products`');
 
$row_lig = array();
 
$clepsCount = mysql_num_rows($result);
 
for($i = 0; $i++; $i < $clepsCount) {
    $row_lig[mysql_data_seek($result, $i, 0)]=$i;
}


 
Oublie pas dans le select de ne sélectionnez que l'id si c'est le seul champ qui t'intéresse

n°1368048
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 18:05:32  profilanswer
 

FlorentG a écrit :

Et pour faire encore plus speed speed speed :

$result = mysql_query('SELECT `id` FROM `products`');
 
$row_lig = array();
 
$clepsCount = mysql_num_rows($result);
 
for($i = 0; $i++; $i < $clepsCount) {
    $row_lig[mysql_data_seek($result, $i, 0)]=$i;
}


 
Oublie pas dans le select de ne sélectionnez que l'id si c'est le seul champ qui t'intéresse


Non, j'ai abandonné l'idée de faire une requête pour trouver l'équivalent ID<>Row puis une requête pour récupérer toutes les infos, ça allait plus vite de ne faire qu'une seule requête pour tout récupérer et de faire une petite boucle juste pour récupérer l'équivalence.
 
Par contre, ta méthode là, ça ne fonctionne plus. :S
 

n°1368050
FlorentG
Posté le 16-05-2006 à 18:06:05  profilanswer
 

remplace `products` par ta table :D

n°1368054
FlorentG
Posté le 16-05-2006 à 18:07:22  profilanswer
 

Ah, c'est dans le for, j'ai inversé condition et incrémentation

n°1368056
FlorentG
Posté le 16-05-2006 à 18:08:11  profilanswer
 

ah non attend, c'est autre chose
 
 
Ah non en fait ça marche pas, faut remplacer data_seek par result, mais du coup c'est plus lent :D :D :D


Message édité par FlorentG le 16-05-2006 à 18:09:08
n°1368060
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 18:09:11  profilanswer
 

FlorentG a écrit :

remplace `products` par ta table :D


J'suis un nabot, mais quand même...  :D

n°1368064
FlorentG
Posté le 16-05-2006 à 18:10:25  profilanswer
 

Moralité : toujours bien tester :whistle:

n°1368080
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 18:15:25  profilanswer
 

Ouaip, du coup, je doublais pas 2,3 mes temps de génération avec ta méthode + mysql_result. :D
 
Enfin bon, c'est pas grave, je vais pas te repprocher d'essayer de trouver une solution pour moi, c'est sympa, je vais bosser sur le Wiki ce soir, je risque de gagner pas mal de temps, c'est déjà génial.

n°1368084
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 18:16:18  profilanswer
 

et si tu retire cette saleté de * dans ta requête ? :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1368093
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 18:20:21  profilanswer
 

Sh@rdar a écrit :

et si tu retire cette saleté de * dans ta requête ? :o


ça va moins vite. :oui:
J'ai essayé, si je fais un  
SELECT id,suffixe,nom,affixe,couleur, param5,param6,param7,etc... FROM chiens ORDER BY nom, bizarrement, ça va moins vite que l'astérisque, donc je l'ai laissé. Bon, c'est du pipi de chat niveau vitesse, mais pour le coup.
 
La requête est d'ailleurs vraiment rapide, même avec un ORDER BY nom (bien sûr, j'ai un index sur nom).
 

n°1368102
0x90
Posté le 16-05-2006 à 18:24:31  profilanswer
 

FlorentG a écrit :

Finalement, c'est bien les softs open source, on peut voir si des trucs peuvent tout faire ramer ou pas [:dawa]


 
Méga pluzun sur le coup :jap:

n°1368105
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 18:25:55  profilanswer
 

The-Shadow a écrit :

ça va moins vite. :oui:
J'ai essayé, si je fais un  
SELECT id,suffixe,nom,affixe,couleur, param5,param6,param7,etc... FROM chiens ORDER BY nom, bizarrement, ça va moins vite que l'astérisque, donc je l'ai laissé. Bon, c'est du pipi de chat niveau vitesse, mais pour le coup.
 
La requête est d'ailleurs vraiment rapide, même avec un ORDER BY nom (bien sûr, j'ai un index sur nom).


 
 
t'as pas de where sur le nom pourtant ? pourquoi tu trie pas sur la clef primaire ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1368111
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 18:30:05  profilanswer
 

Sh@rdar a écrit :

t'as pas de where sur le nom pourtant ? pourquoi tu trie pas sur la clef primaire ?


Parce qu'en fait (là c'est le moment où je vais me faire siffler) je récupère la table à chaque page du WikiPedi, tout est inclu dans une page que j'inclu à chaque affichage. Du coup comme l'affichage qui réclame le plus de ressource est l'affichage de tous les chiens par ordre alphabétique, je n'ai pas à traiter l'ordre en PHP, MySQL le fait très bien et surtout très très vite.
D'ailleurs, même si ma solution fait que je reçois des tomates, pour tout le WikiPedi, pour le coup, je ne vais avoir à modifier que 2 ou 3 fonctions pour grandement l'optimiser.
Y'a surement mieux, je dis pas, je reconnais volontier mes faiblesses, mais ça fonctionne impeccable comme ça, sauf sur cette fameuse boucle que je vais m'empresser d'optimiser grace à toi (et à FlorentG).
Et dire que si Smargadus n'avait par insisté, tu n'aurais pas demander de l'aide et je n'aurais sans doute pas découvert Mysql_seek_data avant plusieurs années. :love:
 
:D


Message édité par The-Shadow le 16-05-2006 à 18:30:52
n°1368120
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 18:38:48  profilanswer
 

eh bin il aura au moins fait un truc de bien sur ce topic [:pingouino]  
 
remarque après vérif ça t'évitera pas un filesort donc c'est pas bien grave [:spamafote]
 
sinon pour les forums ou autre, y'en a qui utilisent des type MERGE ? j'adore moi :D, séparation des historiques de stats / commandes, une table par année voire plus pour les bonnes charges ;)
 


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1368137
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 18:59:29  profilanswer
 

ça sert à quoi ?  [:amandine75011]

n°1368141
uriel
blood pt.2
Posté le 16-05-2006 à 19:05:41  profilanswer
 

'tain &sup 1; &sup 2; et &sup 3; existe mais pas au dessus :fou:


---------------
IVG en france
n°1368144
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 19:07:15  profilanswer
 

The-Shadow a écrit :

ça sert à quoi ?  [:amandine75011]


 
 
regroupement de tables de structure identique et je t'ocroie un [:sh@rdar] pour la peine :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1368147
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 19:09:31  profilanswer
 

Sh@rdar a écrit :

regroupement de tables de structure identique et je t'ocroie un [:sh@rdar] pour la peine :o


Le FM, j'arrête pas de le lire, aussi bien PHP que MySQL, m'enfin, tu peux pas tout retenir non plus. :o
Surtout que j'apprends moins facilement aujourd'hui qu'à 20 ans.  :o  

n°1368156
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 19:23:07  profilanswer
 

en allant sur le site de la doc mysql et en tapant merge on tombe là dessus directement : http://dev.mysql.com/doc/refman/5. [...] ngine.html :o donc t'as pas d'excuse puisque c'est en français :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1368159
0x90
Posté le 16-05-2006 à 19:29:01  profilanswer
 

c'est pas comme une UNION ?

n°1368162
Sh@rdar
Ex-PhPéteur
Posté le 16-05-2006 à 19:33:09  profilanswer
 

un peu, sauf qu'au lieu de regrouper dans une requête c'est transparent, y'a rien à faire si ce n'est déclarer la table de regroupement
 
après on peut taper dans toutes les tables d'un coup, ou uniquement une (c'est typiquement pour des historiques, ou pour séparer en plusieurs tables moins grosses des données volumineuses)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1368194
gatsu35
Blablaté par Harko
Posté le 16-05-2006 à 20:35:16  profilanswer
 

The-Shadow a écrit :

Le FM, j'arrête pas de le lire, aussi bien PHP que MySQL, m'enfin, tu peux pas tout retenir non plus. :o
Surtout que j'apprends moins facilement aujourd'hui qu'à 20 ans.  :o


Ben ouais, âge, veillissement, sénilité, radotage, toussa  quoi....

n°1368205
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 20:46:02  profilanswer
 

gatsu35 a écrit :

Ben ouais, âge, veillissement, sénilité, radotage, toussa  quoi....


L'âge, c'est tout. :o  
Par contre, j'ai découvert un autre truc avec l'age, c'est que tu te muscles sans rien faire, dans le gras que tu chopes, y'a du muscle pour porter tout ça, ça permet de mettre des baffes aux petits jeunes de vingt ans qui se prennent pour des caïds parce qu'ils ont des tablettes de chocolat.  :o  
 
Alors me cherche pas trop hein ?!?  :fou:  

n°1368222
Shinuza
This is unexecpected
Posté le 16-05-2006 à 20:53:54  profilanswer
 

The-Shadow a écrit :

L'âge, c'est tout. :o  
Par contre, j'ai découvert un autre truc avec l'age, c'est que tu te muscles sans rien faire, dans le gras que tu chopes, y'a du muscle pour porter tout ça, ça permet de mettre des baffes aux petits jeunes de vingt ans qui se prennent pour des caïds parce qu'ils ont des tablettes de chocolat.  :o  
 
Alors me cherche pas trop hein ?!?  :fou:


[:rofl]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1368226
The-Shadow
T'as été voir dans ton profil?
Posté le 16-05-2006 à 20:58:04  profilanswer
 

Et d'abord Gatsu, si tu es conscient de mon age, tu vas m'appeler Monsieur et tu vas me vouvoyer à partir de maintenant. :o Non mais... :o

n°1368241
Shinuza
This is unexecpected
Posté le 16-05-2006 à 21:17:07  profilanswer
 

The-Shadow a écrit :

Et d'abord Gatsu, si tu es conscient de mon age, tu vas m'appeler Monsieur et tu vas me vouvoyer à partir de maintenant. :o Non mais... :o


Bon il va souiller sa couche le vieux si il s'enflamme  :whistle:


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  78  79  80  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)