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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  349  350  351  ..  486  487  488  489  490  491
Auteur Sujet :

les développeurs de forums, les 3/4 des forums sont down /o\

n°1348225
Max Evans
Posté le 17-04-2006 à 18:44:22  profilanswer
 

Reprise du message précédent :

anthomicro a écrit :

En même temps c'est pas faute d'avoir été avertis je pense...
 
 
 
J'espère pour eux que ça sera plus réussi qu'IPB (faire pire serait je pense difficile, mais bon tout est possible...)
 
 
 
Disons en fait pour parler en français sans termes techniques (Joce me corrigera si je me trompe), que, lorsque tu supprimes un enregistrement dans ta table, ça crée un trou. Quand tu vas faire une insertion (et si t'as pas fait d'OPTIMIZE TABLE avant) MySQL pourra y foutre des données là dedans, et donc tu te retrouves avec une table fragmentée qui n'a plus vraiment de sens niveau optimisation (un peu comme la fragmentation d'un disque dur sous Windows).


Pas si c'est un index simple ordonné normalement (bTree, toussa toussa) :??:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
mood
Publicité
Posté le 17-04-2006 à 18:44:22  profilanswer
 

n°1348228
anthomicro
Posté le 17-04-2006 à 18:49:05  profilanswer
 

Max Evans a écrit :

Pas si c'est un index simple ordonné normalement (bTree, toussa toussa) :??:


 
Oui je suis d'accord avec toi, mais lorsque tu fais des suppressions [EDIT] : ou modifications,[/EDIT] ta table n'est plus ordonnée, donc t'es obligé de faire un ALTER TABLE ta_table ORDER BY champ [DESC|ASC]
 
et donc ça bouffe à mort de faire ça :)

Message cité 1 fois
Message édité par anthomicro le 17-04-2006 à 18:49:44
n°1348229
Max Evans
Posté le 17-04-2006 à 18:51:30  profilanswer
 

Nan justement ... Je me suis battu jusqu'au sang avec un forumeur de ce topic car je pensais la même chose :D
 
Quelques tests plus tard, il s'avère en réalité que si tu as une table, avec comme enregistrements :
 
1
2
3
4
 
Tu supprimes 3, tu as :
 
1
2
4
 
Tu ajoutes un nouvel enregistrement :
 
1
2
4
5
 
Et pas :
 
1
2
5
4
 
 
J'espère qu'on parle de la même chose :D
 
PS : Que personne ne me dise le contraire, j'ai débattu sur je-sais-pas-combien de posts là-dessus, on m'a mis la grosse patée, alors que personne vienne m'annoncer que j'avais finalement raison :o [:ddr555]


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348243
anthomicro
Posté le 17-04-2006 à 19:14:38  profilanswer
 

Oui on parle bien de la même chose :)
 
Seulement tu as surement fait des tests ordonnés en "ASC"
 
Prenons une table de test (même sans suppressions/ajouts tu vas voir que ça foire). Bref une table avec un seul champ "id" sans autoincrément.
 
Tu insères une dizaine d'enregistrements avec des id qui se suivent (perso j'en ai mis 10). Ensuite tu fais un ALTER TABLE test ORDER BY id DESC.
 
Tu affiches ta table (SELECT id FROM test)
 
ça va t'afficher tous les id ordonnés du plus grand au plus petit.
 
Maintenant, insères un enregistrement ayant une valeur supérieure (enfin peu importe mais c'est pour que tu vois où est placé l'enregistrement ensuite) bref moi j'ai pris 11. Ensuite tu refais ton SELECT id FROM table et tu vas voir que le 11 ne sera pas en haut, mais en bas...
 
T'es donc oligé de refaire un ALTER TABLE test ORDER BY id DESC, ça bouffe des ressources, et donc tu imagines bien que sur un UPDATE/DELETE c'est pareil :)

n°1348246
joce
"BugHunter"
Posté le 17-04-2006 à 19:15:50  profilanswer
 

Max Evans a écrit :

Nan justement ... Je me suis battu jusqu'au sang avec un forumeur de ce topic car je pensais la même chose :D
 
Quelques tests plus tard, il s'avère en réalité que si tu as une table, avec comme enregistrements :
 
1
2
3
4
 
Tu supprimes 3, tu as :
 
1
2
4
 
Tu ajoutes un nouvel enregistrement :
 
1
2
4
5
 
Et pas :
 
1
2
5
4
 
 
J'espère qu'on parle de la même chose :D
 
PS : Que personne ne me dise le contraire, j'ai débattu sur je-sais-pas-combien de posts là-dessus, on m'a mis la grosse patée, alors que personne vienne m'annoncer que j'avais finalement raison :o [:ddr555]


on parle de l'index, pas du datafile.
quand tu fais un select sans where, ca n'utilise pas du tout le fichier d'index

n°1348251
anthomicro
Posté le 17-04-2006 à 19:20:52  profilanswer
 

Avec un index ça reste ordonné ?

n°1348252
Max Evans
Posté le 17-04-2006 à 19:22:41  profilanswer
 

anthomicro a écrit :

Oui on parle bien de la même chose :)
 
Seulement tu as surement fait des tests ordonnés en "ASC"
 
Prenons une table de test (même sans suppressions/ajouts tu vas voir que ça foire). Bref une table avec un seul champ "id" sans autoincrément.
 
Tu insères une dizaine d'enregistrements avec des id qui se suivent (perso j'en ai mis 10). Ensuite tu fais un ALTER TABLE test ORDER BY id DESC.
 
Tu affiches ta table (SELECT id FROM test)
 
ça va t'afficher tous les id ordonnés du plus grand au plus petit.
 
Maintenant, insères un enregistrement ayant une valeur supérieure (enfin peu importe mais c'est pour que tu vois où est placé l'enregistrement ensuite) bref moi j'ai pris 11. Ensuite tu refais ton SELECT id FROM table et tu vas voir que le 11 ne sera pas en haut, mais en bas...
 
T'es donc oligé de refaire un ALTER TABLE test ORDER BY id DESC, ça bouffe des ressources, et donc tu imagines bien que sur un UPDATE/DELETE c'est pareil :)


 
Hmmm ... J'ai sûrement fait le test avec un index auto-increment :ange: :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348255
Max Evans
Posté le 17-04-2006 à 19:23:34  profilanswer
 

joce a écrit :

on parle de l'index, pas du datafile.
quand tu fais un select sans where, ca n'utilise pas du tout le fichier d'index


L'exemple était ultra-simplifié, l'intérêt c'était l'index ordonné, donc j'avais bien un WHERE ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348256
anthomicro
Posté le 17-04-2006 à 19:24:17  profilanswer
 

voilà, dès que je fais le test avec un index c'est ordonné en ce qui me concerne, je vais tenter de désordonner ça, ou de trouver des infos

n°1348258
joce
"BugHunter"
Posté le 17-04-2006 à 19:26:15  profilanswer
 

anthomicro a écrit :

Avec un index ça reste ordonné ?


Oui, si MySQL utilise un "using index" comme méthode de rapatriement.


Message édité par joce le 17-04-2006 à 19:26:37
mood
Publicité
Posté le 17-04-2006 à 19:26:15  profilanswer
 

n°1348259
nraynaud
lol
Posté le 17-04-2006 à 19:27:35  profilanswer
 

anthomicro a écrit :

Oui je suis d'accord avec toi, mais lorsque tu fais des suppressions [EDIT] : ou modifications,[/EDIT] ta table n'est plus ordonnée, donc t'es obligé de faire un ALTER TABLE ta_table ORDER BY champ [DESC|ASC]
 
et donc ça bouffe à mort de faire ça :)


 
heu, on parlait pas des indexes là ??? parce que ça n'a rien à voir avec les indexes ça.
 
l'allocation des rows c'est le problèlme du moteur et on cosidère toujours que c'est en O(1)

n°1348260
anthomicro
Posté le 17-04-2006 à 19:31:30  profilanswer
 

Je croyais qu'on parlait des lignes ordonnées ou non en cas de suppressions/updates.
 
Je file m'acheter des lunettes ^^

n°1348262
joce
"BugHunter"
Posté le 17-04-2006 à 19:35:06  profilanswer
 

très interessant les résultats que je viens d'avoir [:wam]
 
SELECT numreponse FROM threadhardwarefr13 WHERE numeropost='11183' LIMIT 561000,30;
30 rows in set (0.53 sec)
 
SELECT * FROM threadhardwarefr13 WHERE numeropost='11183' LIMIT 561000,30;
30 rows in set (50.42 sec)
 
 
Seule différence : la première requète fait un USING INDEX parce que tout est dans l'index file.

n°1348263
nraynaud
lol
Posté le 17-04-2006 à 19:35:53  profilanswer
 

bah les lignes sont dans le désordre sur le disque (sauf truc spécial dont j'ai oublié le nom et rarement utilisé)
 
Joce parlait de laisser des trous dans l'arbre je crois, virer la ligne de la table, mais pas réorganiser les indexes.

n°1348264
joce
"BugHunter"
Posté le 17-04-2006 à 19:36:03  profilanswer
 

(note :  
 
SELECT numreponse FROM threadhardwarefr13 WHERE numeropost='11183' ORDER BY numreponse LIMIT 561000,30;
 
30 rows in set (0.71 sec))

n°1348266
Max Evans
Posté le 17-04-2006 à 19:36:45  profilanswer
 

joce a écrit :

très interessant les résultats que je viens d'avoir [:wam]
 
SELECT numreponse FROM threadhardwarefr13 WHERE numeropost='11183' LIMIT 561000,30;
30 rows in set (0.53 sec)
 
SELECT * FROM threadhardwarefr13 WHERE numeropost='11183' LIMIT 561000,30;
30 rows in set (50.42 sec)
 
 
Seule différence : la première requète fait un USING INDEX parce que tout est dans l'index file.


 
Bah c'est intuitif nan ? :??: Si les données sont dans l'index, MySQL parse seulement l'index ? :??:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348267
anthomicro
Posté le 17-04-2006 à 19:37:49  profilanswer
 

T'as une table par catégorie ?

n°1348268
Max Evans
Posté le 17-04-2006 à 19:38:07  profilanswer
 

Je confirme pour Josaÿ :jap:
 
EDIT : Histoire de WHERE, I/O disque, toussa toussa :D

Message cité 2 fois
Message édité par Max Evans le 17-04-2006 à 19:38:33

---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348270
joce
"BugHunter"
Posté le 17-04-2006 à 19:38:56  profilanswer
 

bon j'ai compris : cet abruti rapatrie vraiment tous les résultats, et seulement en suite applique la clause LIMIT :D


Message édité par joce le 17-04-2006 à 19:39:25
n°1348272
anthomicro
Posté le 17-04-2006 à 19:39:32  profilanswer
 

Oui, c'est ce que je disais plus haut :D

n°1348273
nraynaud
lol
Posté le 17-04-2006 à 19:40:27  profilanswer
 

joce > tu peux expliquer ce qu'est l'index file ? et plus précisément ton raisonnement stp ?

n°1348274
joce
"BugHunter"
Posté le 17-04-2006 à 19:40:31  profilanswer
 

Max Evans a écrit :

Je confirme pour Josaÿ :jap:
 
EDIT : Histoire de WHERE, I/O disque, toussa toussa :D


Nan mais ce que je veux dire qu'à la limite, t'as interet à faire la requète en deux fois :D

n°1348276
anthomicro
Posté le 17-04-2006 à 19:41:18  profilanswer
 

Max Evans a écrit :

Je confirme pour Josaÿ :jap:
 
EDIT : Histoire de WHERE, I/O disque, toussa toussa :D


 
T'utilises pas de LIMIT pour ton forum ?

n°1348280
Max Evans
Posté le 17-04-2006 à 19:43:34  profilanswer
 

anthomicro a écrit :

T'utilises pas de LIMIT pour ton forum ?


Me ? :)
 
Si oui, j'ai une solution relativement bancale pour l'affichage des messages ds un tomic (Avec un IdInsideTopic) donc sans LIMIT :jap:
Pour l'affichage des tomics, pas de solution particulière, donc LIMIT :jap:
 
Cet été, tout le code va valser pour une nouvelle version codée à plusieurs, ca va roxxer :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348281
joce
"BugHunter"
Posté le 17-04-2006 à 19:43:53  profilanswer
 

nraynaud a écrit :

joce > tu peux expliquer ce qu'est l'index file ? et plus précisément ton raisonnement stp ?


Ba  
 
CREATE TEMPORARY TABLE pouet SELECT numreponse FROM threadhardwarefr13 WHERE numeropost='11183' ORDER BY numreponse LIMIT 561000,30;
SELECT * FROM pouet LEFT JOIN threadhardwarefr13 USING (numreponse) ORDER BY numreponse ASC;
 
=> 0.57s + 0.01s
 
rulez :D

Message cité 2 fois
Message édité par joce le 17-04-2006 à 19:44:58
n°1348283
anthomicro
Posté le 17-04-2006 à 19:44:54  profilanswer
 

Max Evans a écrit :

Me ? :)
 
Si oui, j'ai une solution relativement bancale pour l'affichage des messages ds un tomic (Avec un IdInsideTopic) donc sans LIMIT :jap:
Pour l'affichage des tomics, pas de solution particulière, donc LIMIT :jap:
 
Cet été, tout le code va valser pour une nouvelle version codée à plusieurs, ca va roxxer :D


 
Oki :)

n°1348285
Max Evans
Posté le 17-04-2006 à 19:45:29  profilanswer
 

D'ailleurs, me tate pour passer la future version en open-source :??:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348302
anthomicro
Posté le 17-04-2006 à 20:08:06  profilanswer
 

ça n'a pas l'air de trop ramer, dommage qu'on ait pas les temps de génération histoire de se faire une idée.

n°1348305
Profil sup​primé
Posté le 17-04-2006 à 20:11:33  answer
 


 
J'aime trop pas

n°1348306
Profil sup​primé
Posté le 17-04-2006 à 20:12:13  answer
 

Max Evans a écrit :

D'ailleurs, me tate pour passer la future version en open-source :??:


 
Je te l'ai dis sur le topic serveur@home mais je te le repete, l'effet sur les bordure de tes forums est superbe. J'ai pas reussi a le reproduire en CSS :(

n°1348309
nraynaud
lol
Posté le 17-04-2006 à 20:14:35  profilanswer
 

joce > tu utilises quoi comme régie de pub ?

n°1348310
Max Evans
Posté le 17-04-2006 à 20:15:13  profilanswer
 

Mais c'est effectivement codé à la barbare :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1348314
0x90
Posté le 17-04-2006 à 20:36:01  profilanswer
 


 
Quel effet ?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1348315
Multinickn​ame
Ah bon...
Posté le 17-04-2006 à 20:37:14  profilanswer
 

L'ombre sous les tables je pense...


---------------
Feaks Forum
n°1348319
Profil sup​primé
Posté le 17-04-2006 à 20:43:31  answer
 

Oui l'ombre sous les tables

n°1348323
Harkonnen
Un modo pour les bannir tous
Posté le 17-04-2006 à 20:52:56  profilanswer
 

Code :
  1. <td class='tblbot'>
  2. <img width='8' height='4' src='images/pixel.gif' />
  3. </td>


c'est une image [:petrus75]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1348329
0x90
Posté le 17-04-2006 à 21:08:25  profilanswer
 

http://deuxfleurs.org/stuff/tableshade.html Ok le markup est pas génial mais bon, c'est faisable quoi ...


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1348337
fabien
Vive la super 5 !
Posté le 17-04-2006 à 21:10:39  profilanswer
 


il a pas pompé cette option sur phpbb ?


---------------
Découvre le HFRcoin ✈ - smilies
n°1348340
Profil sup​primé
Posté le 17-04-2006 à 21:11:04  answer
 

Il y a pas moyen de faire plus simple ?

n°1348344
0x90
Posté le 17-04-2006 à 21:14:46  profilanswer
 


 
Surement,  
tu peut virer un div si tu limite un peu la largeur de tes blocs en faisant une sliding window par exemple...
 
Sinon vu la faible utilité de l'ombre portée, tu peut accepter qu'elle ne soit visible que pour les gens qui ont Javascript activé, et faire la décoration du bloc sur tout les elem qui ont une certaine classe. Tu gagnera sur ton markup mais tu allourdiras l'effort du client [:spamafote]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1348365
fabien
Vive la super 5 !
Posté le 17-04-2006 à 21:48:43  profilanswer
 


c'est quoi comme forum? j'ai cherché, j'ai pas trouvé de nom. c'est du fait maison ?


---------------
Découvre le HFRcoin ✈ - smilies
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  349  350  351  ..  486  487  488  489  490  491

Aller à :
Ajouter une réponse
 

Sujets relatifs
question avec les forums phpbb2[php] trouver la premier place ou inserer un enregistrement (résolu)
Forums phpBBQui connait l'algo du Passticket et sa mise en place en VB ?
[Merise] Mise en place d'un MCDFocus mal placé....
[Blabla/Prog] Les développeurs foromeurs sont-ils des feignasses?Mise en place d'un formulaire CGI
forums création de site internetJava - Mise en place d'une api (Servlet)
Plus de sujets relatifs à : les développeurs de forums, les 3/4 des forums sont down /o\


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