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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  158  159  160  ..  486  487  488  489  490  491
Auteur Sujet :

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

n°813019
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 02-08-2004 à 20:49:50  profilanswer
 

Reprise du message précédent :
Question con pour les personnes qui ont fait des sous-cats : comment vous gérez cela au niveau de la BDD ?


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
mood
Publicité
Posté le 02-08-2004 à 20:49:50  profilanswer
 

n°813021
Core 666
Posté le 02-08-2004 à 20:57:18  profilanswer
 

antp a écrit :

Il y a pas mal de trucs sympas (par ex le fait de pouvoir enregistrer des sujets dans les favoris sans y poster), mais le truc le plus chiant je trouve c'est que quand on poste/édite un message on une page intérmédiaire où on doit choisir si on veut retourner au topic ou au forum. Dans l'ancienne version il y avait moyen de choisir quel comportement prendre par défaut, je ne sais pas pourquoi il n'a pas gardé ça ? :??:


Simplement par pure fainéantise :p Je n'avais pas envie de passer des variables à ma page header.inc.php pour générer la balise meta refresh qui va bien (d'où aussi la gestion des bans TT par un header location et non plus par un meta refresh :D).

n°813026
drasche
Posté le 02-08-2004 à 21:29:38  profilanswer
 

Gilbert Gosseyn a écrit :

Question con pour les personnes qui ont fait des sous-cats : comment vous gérez cela au niveau de la BDD ?


perso je la vois comme un filtre, rien de plus. J'ai donc une table qui liste les sous-cats, et chaque topic référence l'une d'elle. Je prévois aussi qu'une cat n'utilise pas forcément les sous-cats.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813031
MossieurPr​opre
I d͟o̩n᷃'̵t͖ give a shit
Posté le 02-08-2004 à 21:53:26  profilanswer
 

drasche a écrit :

perso je la vois comme un filtre, rien de plus. J'ai donc une table qui liste les sous-cats, et chaque topic référence l'une d'elle. Je prévois aussi qu'une cat n'utilise pas forcément les sous-cats.


 
+1 en gros, c'est juste un filtre


---------------
www.novemberguitars.com
n°813034
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 02-08-2004 à 22:12:49  profilanswer
 

Le problème est que j'ai prévu cela comme découpage :
 
Une première BDD va contenir les datas communes à toutes le configs de forums (users et leurs préférences, messages privées, supadmins, réglages généraux, réglages de chaque config). Une deuxième par contre va contenir les tables des messages de la config de forum sélectionnée (donc une table supplémentaire par config de forum) mais aussi la table des admins, celle des modos et celle des droits d'accès.
 
Mais mon problème concerne ma gestion des messages de chaque catégorie :

Citation :


#
# Structure de la table `categories`
#
 
CREATE TABLE `categories` (
  `id_categorie` mediumint(6) unsigned NOT NULL auto_increment,
  `titre_categorie` varchar(255) NOT NULL default '',
  `comment_categorie` varchar(255) NOT NULL default '',
  `prive_categorie` enum('1','0') NOT NULL default '0',
  `pass_categorie` varchar(50) binary NOT NULL default '',
  `pass_active_categorie` enum('1','0') NOT NULL default '0',
  `level_categorie` tinyint(1) NOT NULL default '2',
  `sondage_categorie` enum('1','0') NOT NULL default '1',
  `rep_rapide_categorie` enum('1','0') NOT NULL default '1',
  `ordre_categorie` smallint(2) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id_categorie`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
 
# --------------------------------------------------------
 
#
# Structure de la table `forum_cat_1_posts`
#
 
CREATE TABLE `forum_cat_1_posts` (
  `id_post` int(11) unsigned NOT NULL auto_increment,
  `id_user` mediumint(9) unsigned NOT NULL default '0',
  `id_topic` mediumint(11) unsigned NOT NULL default '0',
  `id_categorie` mediumint(6) unsigned NOT NULL default '0',
  `icon_post` tinyint(2) unsigned NOT NULL default '0',
  `contenu_post` longtext NOT NULL,
  PRIMARY KEY  (`id_post`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
 
# --------------------------------------------------------
 
#
# Structure de la table `forum_cat_1_sond`
#
 
CREATE TABLE `forum_cat_1_sond` (
  `id_sondage` int(11) unsigned NOT NULL auto_increment,
  `id_topic` int(11) unsigned NOT NULL default '0',
  `id_categorie` mediumint(6) unsigned NOT NULL default '0',
  `label_sondage` varchar(255) NOT NULL default '',
  `quest_1_sondage` varchar(100) NOT NULL default '',
  `rep_1_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_2_sondage` varchar(100) NOT NULL default '',
  `rep_2_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_3_sondage` varchar(100) NOT NULL default '',
  `rep_3_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_4_sondage` varchar(100) NOT NULL default '',
  `rep_4_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_5_sondage` varchar(100) NOT NULL default '',
  `rep_5_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_6_sondage` varchar(100) NOT NULL default '',
  `rep_6_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_7_sondage` varchar(100) NOT NULL default '',
  `rep_7_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_8_sondage` varchar(100) NOT NULL default '',
  `rep_8_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_9_sondage` varchar(100) NOT NULL default '',
  `rep_9_sondage` mediumint(6) unsigned NOT NULL default '0',
  `quest_10_sondage` varchar(100) NOT NULL default '',
  `rep_10_sondage` mediumint(6) unsigned NOT NULL default '0',
  `voteblanc_sondage` mediumint(6) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id_sondage`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
 
# --------------------------------------------------------
 
#
# Structure de la table `forum_cat_1_topics`
#
 
CREATE TABLE `forum_cat_1_topics` (
  `id_topic` int(11) unsigned NOT NULL auto_increment,
  `titre_topic` varchar(255) NOT NULL default '',
  `id_categorie` mediumint(6) unsigned NOT NULL default '0',
  `id_user` mediumint(9) unsigned NOT NULL default '0',
  `replys_topic` mediumint(9) unsigned NOT NULL default '0',
  `views_topic` int(11) unsigned NOT NULL default '0',
  `icone_topic` smallint(2) unsigned NOT NULL default '1',
  `crea_topic` datetime NOT NULL default '0000-00-00 00:00:00',
  `last_topic` datetime NOT NULL default '0000-00-00 00:00:00',
  `sond_topic` enum('1','0') NOT NULL default '0',
  `last_user_topic` mediumint(9) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id_topic`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
 
# --------------------------------------------------------

Mon problème est que j'utilise 3 tales pour une catégorie donnée (je cherche à diviser les données pour limiter le poids des données dans chaque table et aussi le risque de perte de données). Donc, je me retrouve avec une division arbitraire qui me fait m'interroger sur la façon dont je vais amener la gestion des sous-cats ...
 
En fait, je me demande si c'était une si bonne idée de vouloir ainsi diviser mes données ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°813036
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 02-08-2004 à 22:13:25  profilanswer
 

Je précise que ce n'est qu'un premier jet et que cela risque fort d'être modifié.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°813039
drasche
Posté le 02-08-2004 à 22:22:32  profilanswer
 

Pour ma part, je me suis finalement lancé dans une division aussi (par cat), mais la tables des sous-catégories reste une et indivisible ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813040
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 02-08-2004 à 22:23:34  profilanswer
 

Intégrée dans la table des catégorie ? ou au même niiveau ? (tiens effectivement la deuxième option pourrait marcher ...)
 
Edit : par contre j'ai intérêt à faire gaffe à mes index moi ...
 
Edit bis > Voila qui devrait suffire je pense :
 

Citation :

#
# Structure de la table `sous_cats`
#
 
CREATE TABLE `sous_cats` (
  `id_sous_cat` mediumint(8) unsigned NOT NULL auto_increment,
  `titre_sous_cat` varchar(50) NOT NULL default '',
  `id_categorie` mediumint(6) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id_sous_cat`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


Message édité par Gilbert Gosseyn le 02-08-2004 à 22:28:29

---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°813058
drasche
Posté le 02-08-2004 à 22:45:29  profilanswer
 

je vais revenir sur le problème des très longs topics. J'ai idée d'implémenter un truc qui ressemble au split, mais pas tout à fait. Je me suis demandé si ça ne serait pas mieux d'avoir une table associée à celle des topics, et qui définirait des bornes inférieures et supérieures pour un topic (premier et dernier id de message) pour former des intervales de disons 1000 messages. Et lorsque je veux voir un bout de gros topic, j'utiliserais ce filtrage supplémentaire pour accélérer les perfs. Bien sûr, il faudra éviter qu'un message puisse être effacé lorsque le cap des mille messages est passé. C'est exactement ce que je compte faire si je l'implémente tel que je l'ai en tête. Dès que j'ai fini d'archiver ma DB HFR-sized, je regarde ça de plus près :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813094
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-08-2004 à 23:33:17  profilanswer
 

Core 666 a écrit :

Simplement par pure fainéantise :p Je n'avais pas envie de passer des variables à ma page header.inc.php pour générer la balise meta refresh qui va bien (d'où aussi la gestion des bans TT par un header location et non plus par un meta refresh :D).


 
tu peux toujours taper un bout de javascript dans la page :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 02-08-2004 à 23:33:17  profilanswer
 

n°813103
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 02-08-2004 à 23:54:16  profilanswer
 

drasche a écrit :

je vais revenir sur le problème des très longs topics. J'ai idée d'implémenter un truc qui ressemble au split, mais pas tout à fait. Je me suis demandé si ça ne serait pas mieux d'avoir une table associée à celle des topics, et qui définirait des bornes inférieures et supérieures pour un topic (premier et dernier id de message) pour former des intervales de disons 1000 messages. Et lorsque je veux voir un bout de gros topic, j'utiliserais ce filtrage supplémentaire pour accélérer les perfs. Bien sûr, il faudra éviter qu'un message puisse être effacé lorsque le cap des mille messages est passé. C'est exactement ce que je compte faire si je l'implémente tel que je l'ai en tête. Dès que j'ai fini d'archiver ma DB HFR-sized, je regarde ça de plus près :D

Moi je verrai plutot un truc basé sur le temps séparant le postage du message (pas l'édit) et la demande de suppression ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°813105
drasche
Posté le 02-08-2004 à 23:58:52  profilanswer
 

oué mais quand t'as des boulets qui floodent, ça te fait un gros paquet de messages à traiter. D'ailleurs en parlant de temps, j'ai remarqué un problème potentiel, après avoir changé mes ORDER BY (basés sur les ID plutôt que l'heure de postage): imaginons que je restaure un dump MySQL, il y a des trous dedans pour diverses raisons (topics ou messages effacés), bin MySQL va tenter de boucher les trous. Sisi. Du coup, je peux plus ordonner une liste de topics ou de messages par ID, je dois forcément utiliser la date :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813112
drasche
Posté le 03-08-2004 à 00:17:19  profilanswer
 

ça marche pas bien mon histoire, et en plus je ne comprends pas ceci:
 
soit la requête suivante:
 

Code :
  1. explain
  2.   SELECT tblmesg_1.fldmesgaidn, tblmesg_1.flduseraidn, tblmesg_1.fldmesgcadr,
  3.     DATE_FORMAT(tblmesg_1.fldmesgdcre, '%d/%m/%Y %H:%i:%s') as fldmesgdcre, tblmesg_1.fldmesgnico, tblmesg_1.flduseralstmdfidn, tblmesg_1.fldmesgclstmdfadr, flduserllstmdfnck,
  4.     DATE_FORMAT(tblmesg_1.fldmesgdlstmdf, '%d/%m/%Y %H:%i:%s') as fldmesgdlstmdf, tblmesg_1.fldmesgfsgn, tblmesg_1.fldmesgfcod, tblmesg_1.fldmesgltxt
  5.   FROM tblmesg_1
  6.   WHERE tblmesg_1.fldtopcaidn = 2
  7.     AND tblmesg_1.fldmesgdcre>="2000-10-22 19:08:01"
  8.     AND tblmesg_1.fldmesgdcre<="2001-02-11 05:43:04"


 
pas de jointure, et les 2 champs spécifiés dans le WHERE sont indexés. Alors pourquoi les deux conditions sur la date n'ont pas d'influence sur le nombre d'enregistrement retournés? :??: (71551, c'est un peu lourd)
 
en gros il me dit:
tblmesg_1 ref ixlmesg2,ixlmesg3 ixlmesg2 4 const 71551 Using where.
 
Qu'est-ce que j'ai loupé? :??:


Message édité par drasche le 03-08-2004 à 00:17:56

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813126
Profil sup​primé
Posté le 03-08-2004 à 02:11:38  answer
 

à mon avis ca peut venir de ta condition de filtre sur les date :  
vu que tu formate la date (format US vers Fr) dans la requete, utilise l'alias fldmesgdcre au lieu du champ tblmesg_1.fldmesgdcre de la BDD
 
PS : TimeStamp poowwa !! lol ->plus facile à manier  :love:


Message édité par Profil supprimé le 03-08-2004 à 02:13:09
n°813136
Core 666
Posté le 03-08-2004 à 08:30:39  profilanswer
 

drasche a écrit :

oué mais quand t'as des boulets qui floodent, ça te fait un gros paquet de messages à traiter. D'ailleurs en parlant de temps, j'ai remarqué un problème potentiel, après avoir changé mes ORDER BY (basés sur les ID plutôt que l'heure de postage): imaginons que je restaure un dump MySQL, il y a des trous dedans pour diverses raisons (topics ou messages effacés), bin MySQL va tenter de boucher les trous. Sisi. Du coup, je peux plus ordonner une liste de topics ou de messages par ID, je dois forcément utiliser la date :/


:??:
 
Soit les messages ayant pour ID 5,6,7,8 et 9
 
Tu supprimes le message n° 7 :
 
DELETE FROM messages WHERE id = 7;
 
Puis tu en postes un nouveau :
 
INSERT INTO messages ([...]) VALUES ([...]);
 
MySQL va te le mettre à l'id 7 ? [:core 666] Si id est en auto_increment il aura nécessairement la valeur 10. Suivant ta version de MySQL la prochaine valeur de ta clef primaire en auto_increment est présente en dur dans les infos de structure de table :
 
CREATE TABLE table ( [...] PRIMARY KEY (id) ) TYPE=MyISAM AUTO_INCREMENT=10 ;
 
Mais je crois que ca n'est de toute manière pas indispensable, MySQL ne "bouchera pas les trous" même si cette info est absente de ton dump. Tu es sur de ne pas t'être planté quelque part dans tes tests ?

n°813138
Rainbow_Ef​reet
Posté le 03-08-2004 à 08:33:19  profilanswer
 

mysql selectionne le MAX et l'increment de 1 pour les id autoincrement, il ne peut pas reboucher un trou, il faut le faire manuellement

n°813150
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 03-08-2004 à 09:01:14  profilanswer
 

Core 666 a écrit :

:??:
 
Soit les messages ayant pour ID 5,6,7,8 et 9
 
Tu supprimes le message n° 7 :
 
DELETE FROM messages WHERE id = 7;
 
Puis tu en postes un nouveau :
 
INSERT INTO messages ([...]) VALUES ([...]);
 
MySQL va te le mettre à l'id 7 ? [:core 666] Si id est en auto_increment il aura nécessairement la valeur 10. Suivant ta version de MySQL la prochaine valeur de ta clef primaire en auto_increment est présente en dur dans les infos de structure de table :
 
CREATE TABLE table ( [...] PRIMARY KEY (id) ) TYPE=MyISAM AUTO_INCREMENT=10 ;
 
Mais je crois que ca n'est de toute manière pas indispensable, MySQL ne "bouchera pas les trous" même si cette info est absente de ton dump. Tu es sur de ne pas t'être planté quelque part dans tes tests ?

Je le pense aussi : pour moi, un champ en auto_increment voit sa valeur augmenter. Et les anciens numéros sont considérés comme "brulés" par MySQL. Même dans le cas ou tu supprime le dernier élément, cet élément est considéré comme ayant déja été utilisé.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°813165
drasche
Posté le 03-08-2004 à 09:24:40  profilanswer
 

En fait, j'avais procédé à un flood d'insertions dans la DB, mais je spécifiais moi-même l'id au lieu de laisser faire l'autoincrement. Mais l'ID utilisé dans mon code était unique pour toutes les tables, ce qui a forcément généré des trous. Puis quand j'ai testé mon forum, je poste dans le premier topic venu, et quand je suis revenu sur la page des topics, il avait disparu. En fait, il avait été relégué dans les dernières places parce que l'id du dernier message était inférieur à ceux qui le précédaient :??:  Donc je me suis dit qu'il bouchait les trous (ce qui serait mal, dans le fond)
 
On va mettre ça sur le compte d'un draschebug et de la châleur :whistle:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813355
Rainbow_Ef​reet
Posté le 03-08-2004 à 11:31:24  profilanswer
 

:jap: Essai de lire ta phrase a fond  :pt1cable:

n°813409
fabien
Vive la super 5 !
Posté le 03-08-2004 à 11:51:41  profilanswer
 

drasche a écrit :

En fait, j'avais procédé à un flood d'insertions dans la DB, mais je spécifiais moi-même l'id au lieu de laisser faire l'autoincrement. Mais l'ID utilisé dans mon code était unique pour toutes les tables, ce qui a forcément généré des trous. Puis quand j'ai testé mon forum, je poste dans le premier topic venu, et quand je suis revenu sur la page des topics, il avait disparu. En fait, il avait été relégué dans les dernières places parce que l'id du dernier message était inférieur à ceux qui le précédaient :??:  Donc je me suis dit qu'il bouchait les trous (ce qui serait mal, dans le fond)
 
On va mettre ça sur le compte d'un draschebug et de la châleur :whistle:

au lieu de mettre l'id du dernier message, tu devrais mieux mettre la date du dernier message.


---------------
Découvre le HFRcoin ✈ - smilies
n°813456
Core 666
Posté le 03-08-2004 à 12:15:01  profilanswer
 

Gilbert Gosseyn a écrit :

J'ai une question très con pour les développeurs de forums : quels outils vous utilisez pour restaurer un backup ? De préférence un truc capable de gérer de grosses BDDs ...


 
mysqldump pour réaliser le backup
 
Et pour le restaurer je fais ca directement en ligne de commande (mysql < mon_backup.sql). C'est très fiable, même avec des bases énormes, mais c'est très long. Devinez combien de temps prend l'intégration d'une base de 4.5 Go sur mon Céléron 433 / 384 Mo de RAM / 20 Go Maxtor 7200 tours ? :D

n°813522
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-08-2004 à 12:48:35  profilanswer
 

maintenant que j'ai vu qu'il existait des hébergeurs gratuits C#/SQL Server, ça me donne presque envie de développer mon forum [:figti]


---------------
J'ai un string dans l'array (Paris Hilton)
n°813548
Gfreeman
http://www.FGFasp.com
Posté le 03-08-2004 à 13:10:23  profilanswer
 

Harkonnen a écrit :

maintenant que j'ai vu qu'il existait des hébergeurs gratuits C#/SQL Server, ça me donne presque envie de développer mon forum [:figti]


 
Mais laisses tomber la qualité. Nombre de requêtes limités, plantages etc etc.

n°813582
Rainbow_Ef​reet
Posté le 03-08-2004 à 13:42:41  profilanswer
 

Je vous repose ma question que je vous ai posée il y a une page car elle as disparu :(
 
Quel est le moyen d'empecher quelqu'un de générer (grâce à un logiciel fait maison) un nombre important de connexions à la seconde à votre serveur web.
Le problème n'est même plus le code à ce niveau là, c'est le serveur je pense et donc est-ce la mémoire ram, le processeur, ou une configuration dans Apache qui pourrait limiter les accès d'une certaine ip ?
Merci d'avance


Message édité par Rainbow_Efreet le 03-08-2004 à 13:43:33
n°813584
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 03-08-2004 à 13:44:41  profilanswer
 

Core 666 a écrit :

mysqldump pour réaliser le backup
 
Et pour le restaurer je fais ca directement en ligne de commande (mysql < mon_backup.sql). C'est très fiable, même avec des bases énormes, mais c'est très long. Devinez combien de temps prend l'intégration d'une base de 4.5 Go sur mon Céléron 433 / 384 Mo de RAM / 20 Go Maxtor 7200 tours ? :D

Je note merci :jap:.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°813625
fabien
Vive la super 5 !
Posté le 03-08-2004 à 14:10:45  profilanswer
 

Rainbow_Efreet a écrit :

Je vous repose ma question que je vous ai posée il y a une page car elle as disparu :(
 
Quel est le moyen d'empecher quelqu'un de générer (grâce à un logiciel fait maison) un nombre important de connexions à la seconde à votre serveur web.
Le problème n'est même plus le code à ce niveau là, c'est le serveur je pense et donc est-ce la mémoire ram, le processeur, ou une configuration dans Apache qui pourrait limiter les accès d'une certaine ip ?
Merci d'avance


tu ferais mieux de demander cela dans la cat software et reseau.


---------------
Découvre le HFRcoin ✈ - smilies
n°813650
Max Evans
Posté le 03-08-2004 à 14:25:34  profilanswer
 

Core 666 a écrit :

:??:
 
Soit les messages ayant pour ID 5,6,7,8 et 9
 
Tu supprimes le message n° 7 :
 
DELETE FROM messages WHERE id = 7;
 
Puis tu en postes un nouveau :
 
INSERT INTO messages ([...]) VALUES ([...]);
 
MySQL va te le mettre à l'id 7 ? [:core 666] Si id est en auto_increment il aura nécessairement la valeur 10. Suivant ta version de MySQL la prochaine valeur de ta clef primaire en auto_increment est présente en dur dans les infos de structure de table :
 
CREATE TABLE table ( [...] PRIMARY KEY (id) ) TYPE=MyISAM AUTO_INCREMENT=10 ;
 
Mais je crois que ca n'est de toute manière pas indispensable, MySQL ne "bouchera pas les trous" même si cette info est absente de ton dump. Tu es sur de ne pas t'être planté quelque part dans tes tests ?


 
:jap:
C'est simplement dans ta table physique qu'il bouchera les trous, une sorte de défragmentation, en gros tu auras :
 
ID 1
ID 2
ID 3
ID 4
ID 5
ID 6
ID 10
ID 8
ID 9


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°813761
Profil sup​primé
Posté le 03-08-2004 à 15:23:40  answer
 

spike a écrit :

à mon avis ca peut venir de ta condition de filtre sur les date :  
vu que tu formate la date (format US vers Fr) dans la requete, utilise l'alias fldmesgdcre au lieu du champ tblmesg_1.fldmesgdcre de la BDD
 
PS : TimeStamp poowwa !! lol ->plus facile à manier  :love:


Drasche ca a résolu ton probleme de requete? j'ai pas eu d'echo lol

n°813952
drasche
Posté le 03-08-2004 à 17:42:05  profilanswer
 

Fabien a écrit :

au lieu de mettre l'id du dernier message, tu devrais mieux mettre la date du dernier message.


euh ça je le fais hein, sinon bonjour les jointures pour afficher la date en question :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813955
drasche
Posté le 03-08-2004 à 17:43:33  profilanswer
 

spike a écrit :

Drasche ca a résolu ton probleme de requete? j'ai pas eu d'echo lol


En fait j'utilise le format universel (année-mois-jour) et MySQL me l'affiche tout pareil [:spamafote]
 
Mais je suis en train de bricoler un truc pour voir si je peux pas avoir un sévère gain de perfs quand je consulte un gros topic, quelque soit la page [:grisemine2]


Message édité par drasche le 03-08-2004 à 17:43:45

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°813962
ChamOis
Posté le 03-08-2004 à 17:45:09  profilanswer
 

Je suis en train de recommencer mon forum de A à Z  :o


---------------
Hey! You wanna dance?
n°813984
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 03-08-2004 à 17:57:43  profilanswer
 

drasche a écrit :

En fait j'utilise le format universel (année-mois-jour) et MySQL me l'affiche tout pareil [:spamafote]
 
Mais je suis en train de bricoler un truc pour voir si je peux pas avoir un sévère gain de perfs quand je consulte un gros topic, quelque soit la page [:grisemine2]

Dans mes champs datetime, j'ai prévu de stocker mes datas sous la forme '00-00-0000 00:00:00'. Je me demande si c'est une bonne idée ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°814018
dweis
Posté le 03-08-2004 à 18:28:36  profilanswer
 

Core 666 a écrit :

mysqldump pour réaliser le backup
 
Et pour le restaurer je fais ca directement en ligne de commande (mysql < mon_backup.sql). C'est très fiable, même avec des bases énormes, mais c'est très long. Devinez combien de temps prend l'intégration d'une base de 4.5 Go sur mon Céléron 433 / 384 Mo de RAM / 20 Go Maxtor 7200 tours ? :D


en fait lors du restore, faut penser à virer tous les index et les recréer ensuite, ça accélère déjà pas mal la chose il me semble

n°814127
drasche
Posté le 03-08-2004 à 20:09:23  profilanswer
 

comment faites vous, sur des topics de centaines de pages, pour alléger la charge au niveau DB quand vous voulez visionner la dernière page? (parce qu'une bête requête avec LIMIT, ça va bien un moment)
 
J'ai imaginé un truc pour alléger la charge, non seulement sur la dernière page, mais surtout, pour que les perfs soient sensiblement équivalentes, quelque soit la page que vous visionnez (je viens de tester mes requêtes sur un topic de 3000 pages)
 
Pour cela, j'ai ajouté un champ spécifique dans la table des topics, et un autre dans la table des messages. Je l'ai temporairement baptisé lock id (faute de mieux, j'aurais pu employer le terme "page" mais ça va pas pour des raisons évidentes :D Bien que... [:figti])
 
On peut en fait faire une analogie avec les pages. Mettons qu'une page comporte 25 messages (chiffre arbitraire, mais peut avoir un impact sur les performances).
 
Lorsque je débute un topic, je suis en page 1. Chaque message reçoit donc un lock id de 1, et ce même lock id est stocké tel quel dans le row correspondant de la table des topics. Lorsqu'on arrive à 25, hop, on incrémente le lock id: page 2, lock id = 2. Jusque là, c'est simple.
 
Mettre un truc pareil en place impose quelques contraintes: lorsque le lock id d'un message est inférieur au lock id du topic, il ne peut être effacé (et du coup, je pense en interdire la modification également). Du coup, ça ressemble aux splits, mais on n'en voit rien visuellement :D L'autre grosse contrainte, c'est un lock de la table sur les inserts, le temps de faire un select count (qui prendre 25 rows maximum) et l'insert suivant (et éventuellement un update sur la table des topics).
 
J'ai peur qu'à la fin, ça soit un peu lourd pour un simple post de message :/  Qu'en pensez-vous? Des question?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°814128
Max Evans
Posté le 03-08-2004 à 20:10:43  profilanswer
 

Le SELECT COUNT(*), même sur des millions d'enregistrements est ultra-rapide normalement ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°814132
ChamOis
Posté le 03-08-2004 à 20:16:42  profilanswer
 

drasche a écrit :


Mettre un truc pareil en place impose quelques contraintes: lorsque le lock id d'un message est inférieur au lock id du topic, il ne peut être effacé (et du coup, je pense en interdire la modification également). Du coup, ça ressemble aux splits, mais on n'en voit rien visuellement :D


 
c'est un peu chiant ca :/
imagine le dernier message de la page 2 est un message avec des insultes dedans etc.. direct une réponse plus tard, on passe en page 3, et le message n'est pas effacable .. ?


---------------
Hey! You wanna dance?
n°814140
drasche
Posté le 03-08-2004 à 20:20:51  profilanswer
 

ChamOis a écrit :

c'est un peu chiant ca :/
imagine le dernier message de la page 2 est un message avec des insultes dedans etc.. direct une réponse plus tard, on passe en page 3, et le message n'est pas effacable .. ?


j'avais pas pensé à ça [:sisicaivrai]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°814149
ChamOis
Posté le 03-08-2004 à 20:24:27  profilanswer
 

drasche a écrit :

j'avais pas pensé à ça [:sisicaivrai]


 
[:ambesanch]
 
par contre tu peux peut etre garder 2 ou 3 pages d'avance avant de locker .. :)


---------------
Hey! You wanna dance?
n°814164
drasche
Posté le 03-08-2004 à 20:31:38  profilanswer
 

ou alors je fais le vrai split comme Joce l'a fait mais ça me plait pas :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°814170
drasche
Posté le 03-08-2004 à 20:38:27  profilanswer
 

en fait j'ai dit 25 mais j'aurais pu dire 1000 pour faire comme le vrai split d'antant :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°814241
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-08-2004 à 21:48:04  profilanswer
 

Les splits d'antant étaient quand même éditables par les modos


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  158  159  160  ..  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)