Nainwak's World Index du Forum Nainwak's World
Combattez des nains de jardins !
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Ordre de détection
Aller à la page Précédente  1, 2, 3  Suivante
 
Ce forum est verrouillé; vous ne pouvez pas poster, ni répondre, ni éditer les sujets.   Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses.    Nainwak's World Index du Forum -> A l'aiiiide !
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Gatts
Serial Codeur.


Inscrit le: 19 Sep 2002
Messages: 1470

MessagePosté le: Jeu 22 Jan, 2004 15:53    Sujet du message: Répondre en citant

Une explication possible.
Les nains sont sortis de la bdd par ordre de distance, ensuite il n'y a pas d'autre tri, c'est donc l'ordre dans lequel ils sont rentrés dans la table, donc en toute logique l'id.
Supposons que quelquechose vienne troubler cet ordre, comme une optimisation de la table, des suppressions défénitives de nain (i.e. même plus dans la table), les nouveaux inscrits vont alors se poser dans ces places vides et non à la fin de la table.
D'où cette incohérence à l'affichage.
Essayer de voir la table comme un disque dur fragmenté en fait, lorsque l'on rajoute des trucs, ça vient d'abord remplir les trous.

Enfin je ne suis pas certain de mon explication, mais c'est celle qui me semble la plus plausible.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
Miss World
Nain-stallé(e)


Inscrit le: 14 Déc 2003
Messages: 286
Localisation: ici et là...

MessagePosté le: Jeu 22 Jan, 2004 16:04    Sujet du message: Répondre en citant

cette réponse est plausible...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Rambo
Nain(e) à l'aise


Inscrit le: 27 Mar 2003
Messages: 111
Localisation: Sous les Pins

MessagePosté le: Jeu 22 Jan, 2004 18:54    Sujet du message: Répondre en citant

/me essaie de reflechir Surprised

c plausible en effet pour les nouvos nains ...
mais pour les autres le classement par id correspond a l'ancieneté

les nains les plus anciens ont l'id le plus faible

donc un classement par id signifierai un classement par ancieneté or ce n'est pas le cas

a moins que l'hibernation rentre en compte ....

mais alors là ( d'apres mon expression préférée )
on a pas le cul sortie des ronses Very Happy Laughing Very Happy

m'enfi le smimblick avance 8) [/i]
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Ethaniel
Nain-tégré(e)


Inscrit le: 29 Sep 2003
Messages: 486
Localisation: Zauer, capitale du royaume de Rainwan

MessagePosté le: Ven 23 Jan, 2004 15:10    Sujet du message: Nuances Répondre en citant

Gatts a écrit:
Une explication possible.
Les nains sont sortis de la bdd par ordre de distance, ensuite il n'y a pas d'autre tri, c'est donc l'ordre dans lequel ils sont rentrés dans la table, donc en toute logique l'id.
Supposons que quelquechose vienne troubler cet ordre, comme une optimisation de la table, des suppressions défénitives de nain (i.e. même plus dans la table), les nouveaux inscrits vont alors se poser dans ces places vides et non à la fin de la table.
D'où cette incohérence à l'affichage.
Essayer de voir la table comme un disque dur fragmenté en fait, lorsque l'on rajoute des trucs, ça vient d'abord remplir les trous.

Enfin je ne suis pas certain de mon explication, mais c'est celle qui me semble la plus plausible.
D'après les tests que je viens d'effectuer, cette explication est à quelques nuances près la bonne.

Tout d'abord, les optimisations et suppressions ne modifient pas l'ordre de la table.

Lorsqu'un nain est supprimé, ça fait un trou dans la table, trou dans lequel se placera un nouvel inscrit.
Par contre, son ID ne sera pas celui du nain qu'il remplace, mais bien un nouvel ID, donc le plus grand de toute la table (au moment de la création, du moins).

Lorsque le table est optimisée, tous les trous non encore bouchés sont simplement effacés.
Donc, pour bien faire, la table devrait être optimisée à chaque suppression, pour qu'il n'y ait jamais aucun trou dans lequel pourrait s'enregistrer un nouveau nain.

Actuellement, de nombreux trous sont de nouveau occupés, d'où les observations rapportées ici.
Pour arranger ça, il faudrait tout d'abord optimiser la table pour effacer les trous, puis réordonner la table par ID.
Et ensuite, pour la maintenance, optimiser la table à chaque suppression.

Voici la preuve en image du fait que même s'il bouche un trou, un nouveau nain a une ID toute récente.
C'est ce que je vois sur ma case :
Citation:
mep(15, 'Vous voyez 40 nain(s) de jardin.');
mep(7);
mep(15, gavat(23577, 'perso/23577.gif','MadReaper','COPS',3025,2,'Facteur (nain-posteur)',0,12,2,'bien peu me recherchent, mais tous me rencontrent au bout du chemin;pour la moisson des âmes. ceux qui fleurtent avec moi sèment les germes de la folie et mon étreinte est froide bien qu\'inéluctable','o','', 'n'),evc(12,2));
mep(7);
mep(15, gavat(43820, 'choix/PHPavatar023.gif','piti truc','',0,0,'Nain-déci',0,12,2,'(pas de description)','o','', 'n'),evc(12,2));
mep(7);
mep(15, gavat(29377, 'perso/29377.gif','Castor Troy','FLMNH',2580,2,'Moucheron (nain-secte)',0,12,2,'PORCHERIE ! "Anarchie en Chiraquie"','o','', 'n'),evc(12,2));
mep(7);

@++
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Frór
Nain-doré(e)


Inscrit le: 12 Déc 2003
Messages: 1956
Localisation: monde des #RAMPANT

MessagePosté le: Ven 23 Jan, 2004 15:36    Sujet du message: Répondre en citant

En mysql, une optimisation fait un truc du genre :

Code:

+--+--+--+--+--+--+--+--+--+--+
| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Maintenant, le nain 3 disparait (15 jours d'inactivité totale)

+--+--+--+--+--+--+--+--+--+--+
| 1| 2|  | 4| 5| 6| 7| 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Puis, y'a le nain 11 qui se rajoute. (C'est le multi-nain du 7, mais chut)

+--+--+--+--+--+--+--+--+--+--+--+
| 1| 2|  | 4| 5| 6| 7| 8| 9|10|11|
+--+--+--+--+--+--+--+--+--+--+--+

Puis, le joueur du nain 7 en avait marre de son premier nain, il décide de rester 15 jours sans le toucher...

+--+--+--+--+--+--+--+--+--+--+--+
| 1| 2|  | 4| 5| 6|  | 8| 9|10|11|
+--+--+--+--+--+--+--+--+--+--+--+

Mais avec ce système, on perd de la place ... Il y a toujours un trou à la place du nain 3.
Donc, lorsqu'on optimise la table, pour en plus, optimiser le temps d'optimisation, on prend donc le dernier en place, et on le met au premier trou, et on libère l'espace du dernier !

+--+--+--+--+--+--+--+--+--+--+
| 1| 2|11| 4| 5| 6|  | 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Puis, on continue, parce qu'il y a encore des trous

+--+--+--+--+--+--+--+--+--+
| 1| 2|11| 4| 5| 6|10| 8| 9|
+--+--+--+--+--+--+--+--+--+

Voilà ! Le nain 11 est avant le nain 4, mais il garde son numéro 11. Ceci ne se produit QUE lors d'une optimisation de table. Parce que si on devait trouver le premier trou pour installer le nain 11, par exemple, cela prendrait trop de temps pour MySQL.


Voilà, ce message complète en fait celui d'Ethaniel, qui m'a paru un peu complexe pour des personnes n'étant pas analyste ...

Nous nous trouvons en pleine algorithmique, ma branche préférée dans l'informatique Smile
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Ethaniel
Nain-tégré(e)


Inscrit le: 29 Sep 2003
Messages: 486
Localisation: Zauer, capitale du royaume de Rainwan

MessagePosté le: Ven 23 Jan, 2004 18:59    Sujet du message: Bizarre ... Répondre en citant

Frór a écrit:
Voilà, ce message complète en fait celui d'Ethaniel, qui m'a paru un peu complexe pour des personnes n'étant pas analyste ...
Alors là, c'est vraiment bizarre, parce que tu as mis en image ne correspond pas à ce que j'ai décrit Shocked !!!
Et pourtant, je n'ai fait que décrire ce que j'avais observé de mes expérimentations sur MySQL (que je viens de refaire à l'instant)...
Il faudra que l'on m'explique, là, surtout que ce que tu décris est bien plus efficace que ce que j'observe !

Citation:
Nous nous trouvons en pleine algorithmique, ma branche préférée dans l'informatique Smile
Moi aussi, j'aime bien ça !
Mais je préfère amplement l'Assembleur Wink !!!

Bon, tu m'excuseras, mais je reprends tes dessins tout faits ...
D'ailleurs, j'aurais dû les faire dès le premier post, surtout qu'un de mes profs nous dit de toujours mettre plein de dessins dans les comptes-rendus de TP pour expliquer plus clairement Rolling Eyes ...

Code:
+--+--+--+--+--+--+--+--+--+--+
| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Maintenant, le nain 3 disparait (15 jours d'inactivité totale)

+--+--+--+--+--+--+--+--+--+--+
| 1| 2|  | 4| 5| 6| 7| 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Puis, y'a le nain 11 qui se rajoute. (C'est le multi-nain du 7, mais chut)
Il va donc se placer dans le trou laissé vacant par le 3, tout en prenant une nouvelle ID (11).
Le nain 11 est avant le nain 4, mais il garde son numéro 11.

+--+--+--+--+--+--+--+--+--+--+
| 1| 2|11| 4| 5| 6| 7| 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Puis, le joueur du nain 7 en avait marre de son premier nain, il décide de rester 15 jours sans le toucher...

+--+--+--+--+--+--+--+--+--+--+
| 1| 2|11| 4| 5| 6|  | 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+

Mais avec ce système, on perd de la place ... Il y a toujours un trou non encore bouché à la place du nain 7.
Donc, lorsqu'on optimise la table, on la scanne et on copie chaque case non vide dans une table temporaire, qui deviendra à la fin de l'optimisation la table finale, afin d'enlever les trous sans changer l'ordre.

+--+--+--+--+--+--+--+--+--+
| 1| 2|11| 4| 5| 6| 8| 9|10|
+--+--+--+--+--+--+--+--+--+

Citation:
[...] si on devait trouver le premier trou pour installer le nain 11, par exemple, cela prendrait trop de temps pour MySQL.

[...] pour en plus, optimiser le temps d'optimisation, on prend donc le dernier en place, et on le met au premier trou, et on libère l'espace du dernier !
Je suis tout-à-fait d'accord avec toi sur le fait que ce soit mieux, donc je ne comprends pas du tout pourquoi je n'ai pas ça chez moi ...
J'ai le pack EasyPHP 1.7, contenant :
- Apache 1.3.27
- PHP 4.3.3
- phpMyAdmin 2.5.3
- MySQL 4.0.15
A qui la faute ?

@++
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Frór
Nain-doré(e)


Inscrit le: 12 Déc 2003
Messages: 1956
Localisation: monde des #RAMPANT

MessagePosté le: Ven 23 Jan, 2004 19:27    Sujet du message: Répondre en citant

Ceci est évidemment pris en TRES gros ! Le principe fondamental est le même... Je pense qu'il y a une sorte de mini-optimiseur à chaque requête qui fait quelques petits mouvements, malgré toi, histoire que les données les plus demandées soient les plus facilement atteignibles (suis vraiment pas sur de ce mot) pour le programme MySQL ! Depuis leur début, ils ont toujours cherché à optimiser le temps d'exécution d'une requête. Donc, l'algorithme que j'ai présenté présente cela, mais SANS leur petites optimisations internes !

De toutes façons, pour les plus motivés et les plus aventureux, le code source est toujours dispo sur le site officiel Smile
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
AlyumdrA
Nain-doré(e)


Inscrit le: 17 Mar 2003
Messages: 3085
Localisation: Dans mon Chateau au pied de l'Oasis !!!

MessagePosté le: Lun 26 Jan, 2004 14:52    Sujet du message: Répondre en citant

Aie ma tete !!! c'est dangeureu vos post la !!!
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Adresse AIM Yahoo Messenger MSN Messenger
Loooool3
Nain-tégré(e)


Inscrit le: 24 Nov 2003
Messages: 715
Localisation: Bah si vous pouviez m'aider a retrouver le chemin de mon nid...

MessagePosté le: Lun 26 Jan, 2004 16:50    Sujet du message: Répondre en citant

fo arreter tout là les gars !!! Tout ca pour un ordre de détection faussé arf.... Stop the Drink attitude !
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur MSN Messenger
Foxpapa
Nain-tégré(e)


Inscrit le: 10 Mai 2003
Messages: 640
Localisation: Sur le disque monde

MessagePosté le: Lun 26 Jan, 2004 17:44    Sujet du message: Répondre en citant

oui pareil pour moi j'ai un 43000 avant un 15000


au passage on vois ou son ID ?

oula un 295 : nain! c'est un vieux celui la
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Adresse AIM MSN Messenger
Rambo
Nain(e) à l'aise


Inscrit le: 27 Mar 2003
Messages: 111
Localisation: Sous les Pins

MessagePosté le: Mer 04 Fév, 2004 10:31    Sujet du message: Répondre en citant

Foxpapa a écrit:

au passage on vois ou son ID ?


viens sur ma case je te le donnerais Laughing
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Phénix
Nain-dispensable


Inscrit le: 27 Nov 2002
Messages: 1218
Localisation: Partout où un feu est allumé, plus trop à Lyon, mais à Paris

MessagePosté le: Lun 09 Fév, 2004 13:54    Sujet du message: Répondre en citant

lol en gros :

- L'affichage des nains est tel qu'il est c'est tout.
- Il peut arriver qu'il change, si une optimisation de la table est faite.
- Si vous voulez qu'il change ben ne comptez pas dessus
- Si ça vous emm***e d'être toujours en premier sur la liste,
+ soit faut attendre qu'un nain plus vieux que vous ne vienne sur votre case (et encore c'est po obligé selon l'optimisation)
+ soit faut attendre qu'un nain plus jeune vienne sur votre case (et encore c'est po obligé selon l'optimisation)
+ soit vous êtes pas veinard
+ soit vous vous faites tuer pour ne plus être sur la case (encore que vous pouvez bouger lol)

c'est ça ? Laughing
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Albert
Nain-stallé(e)


Inscrit le: 10 Jan 2004
Messages: 207

MessagePosté le: Lun 09 Fév, 2004 15:00    Sujet du message: Répondre en citant

Shocked
Eblouissant
Laughing
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Farente
Nain-doré(e)


Inscrit le: 04 Oct 2003
Messages: 1936
Localisation: Dans le maquis parisien...

MessagePosté le: Lun 09 Fév, 2004 17:55    Sujet du message: Répondre en citant

Loooool3 a écrit:
fo arreter tout là les gars !!! Tout ca pour un ordre de détection faussé arf.... Stop the Drink attitude !


Non non franchement moi ça m'intéresse ces trucs là! Quand c'est appliqué a nainwak c'est beaucoup mieux et la encore j'ai appris un truc... Si un jour je me remet a faire des sites ( c'est fini l'HTML depuis longtemps, il a été tué par le Php) c'est sur que je ferais du Php donc bah la je vois un peu comment ça fonctionne et tout j'apprend des trucs franchements c'est cool en plus les explications d'Ethaniel sont toujours bonnes, et parfois facilement compréhensibles.
Fror aussi ton truc c'est d'une clarté limpide on peut pas faire mieux...

Edith :
Je voulais signaler donc au passage dans ta détection tu peux afficher la source et voir l'ID des autres, comment tu fais pour voir le tien ? Et est-ce réellement les ID ?????
Car y a t'il eu 48000 nains ???? Je vois un mec son ID , c'est 47501(il est niveau 2)... Donc il y a bien eu 47500 nains en tout ? Car en effet on peut voir que c'est un numéro propre a chaque nain , mais ce nombre la c'est quand même impressionant...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail MSN Messenger
Musclenain
Nain-dispensable


Inscrit le: 24 Juil 2003
Messages: 915
Localisation: Au Nord la semaine, au Sud le Week end

MessagePosté le: Lun 09 Fév, 2004 20:25    Sujet du message: Répondre en citant

Non non je te rassure, c'est bien le n° ID. Tous les anciens joueurs pourront te le confirmer et il y a bel et bien plus de 47000 inscrits depuis les débuts de Nainwak. Bientot 50000, qui l'aurait cru...

Nainwak, quand tu nous tiens.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Phénix
Nain-dispensable


Inscrit le: 27 Nov 2002
Messages: 1218
Localisation: Partout où un feu est allumé, plus trop à Lyon, mais à Paris

MessagePosté le: Mar 10 Fév, 2004 10:37    Sujet du message: Répondre en citant

ouais finalement, il n'ya pas tant de pertes que çà !!

on est 10000 nains valides, donc en gros 1/5 ... donc ceux qui jouent apprécient ... parce-que si on tiens compte de l'époque (il doit y en avoir encore qq uns mais moins) où les multinains poussaient comme des nains de jardin .... et puis tous ceux qui comme moi on refait un nain soit dès le début (moi ct au bout de 2 mois) soit pour changer de RP ....

nan vraiment, je trouve ça pas mal ... 8)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
saku
Propriété d'Haiken


Inscrit le: 20 Mai 2003
Messages: 1552
Localisation: Courbevoie (92)

MessagePosté le: Mar 10 Fév, 2004 11:21    Sujet du message: Répondre en citant

les multis continuent à pousser comme des nains de jardin Wink
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Ce forum est verrouillé; vous ne pouvez pas poster, ni répondre, ni éditer les sujets.   Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses.    Nainwak's World Index du Forum -> A l'aiiiide ! Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3  Suivante
Page 2 sur 3

 
Sauter vers:  
Vous pouvez poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com