Forum Poker Collectif : Logiciels, tutoriels et équipement informatique
S'inscrire FAQ Membres Calendrier Les Blogues Recherche Messages du jour Marquer les forums comme lus Odds Calculator

Précédent   Poker Collectif > DISCUSSIONS GÉNÉRALES > Logiciels, tutoriels et équipement informatique
Offre Winamax

Réponse
 
LinkBack Outils de la discussion
Vieux 27/09/2006, 13h24   #1 (permalink)
Johnny Moss - 8 bracelets WSOP
 
Avatar de Lincoln Six Echo
 
Inscription: septembre 2006
Localisation: Toronto
Messages: 1 366

Lincoln Six Echo a une excellente aura (150 points)Lincoln Six Echo a une excellente aura (150 points)

PointsPC: 0

Défragmentation de votre base de données PokerTracker

DANGER : Le contenu de ce message pourrait conduire à la destruction de votre base de donnée PokerTracker. Pour éviter toutes situation malencontreuses, avant d'appliquer ce truc à votre base de donnée PokerTracker, soyez certain de faire un back up de la base de donnée.


Notes :
- Ce truc n'est valide que pour les base de données PostGre SQL. Si vous n'avez pas convertis les base de données originale de PokerTracker, ce truc ne s'applique pas.

- Selon la taille de votre base de donnée, l'opération peut prendre plusieurs heures.

__________________________________________________ __


Ce que ça fait
Postgre écrit les données dans la base de donnée dans l'ordre que les entrées sont soumise. Lorsque vous ouvrez PokerTracker pour montrer les statistique d'un joueur, la requête parcours toutes la table de la base de données et regroupe les données. Un peu comme un disque dur fragmenté, les données sont séparées. Par exemple, la table peut ressembler à :

game# | player | data
1 1 bla
1 2 bla
1 3 bla
2 1 bla
2 2 bla
2 3 bla

Donc, si vous voulez les données du joueur #3, PostGre doit regarder la ligne 3 et 6 ce qui contribue à la lenteur de l'opération. Imaginez un joueur sur qui vous avez 400 mains d'enmagasinées! Si les 400 mains sont séparées, la base de données devra faire 400 opérations différentes pour compiler les résultats.

La défragmentation aura pour but de regrouper les données.

game# | player | data
1 1 bla
1 1 bla
1 2 bla
2 2 bla
2 3 bla
2 3 bla



À quel point plus vite ?

Sans entrer dans les détails techniques, consulter les 2 lignes du joueur #3 se fera en une seule opération désormais. Le plus vous avez de mains sur les joueurs, le plus dramatique la différence sera!

En général, lors de l'ouverture de la fenêtre des 'rign games' dans PokerTracker, les données s'afficheront de 3 à 4 fois plus rapidement. Les requêtes dans le genre "sum(vpip)...where player_id..." que PokerAceHud utilise rouleront plusieurs centaines de fois plus rapidement. Comme chaque requête ne prennait déja qu'une fraction de seconde, la différence d'une seule requête ne sera pas visible, mais comme PAH est appellé à faire rouler ce type de requêtes plusieurs fois par minutes, ...



Comment le faire ?
Note : N'utilisez pas le logiciel "pgadmin" pour faire rouler la requête.


1) La première étape consiste à trouver le nom de la base de données à fragmenter. Dans Poker Tracker, allez dans File>Maintain Database Names. Trouvez le nom de la base de donnée en question ... dans mon cas c'est GAMBLOR (case sensitive).


2) Trouvez la location du fichier psql.exe. Pour la plupart des gens, le fichier sera dans "c:\program files\postgresql\bin\".


3) Si vous croyez être limitez dans l'espace de votre disque dur, faites cette étape ci. Sinon, passez directement à l'étape suivante. Cette étape optionelle a pour but de déterminer l'espace requis pour les opérations de défragmentation. Assurez vous d'avoir assez d'espace.

Dans le menu démarré, allez dans "Run". Tapez cmd.

Dans la nouvelle fenêtre, tapez le code suivant. Changez le répertoire au besoin selon l'emplacement de vous fichiers.

Code:
c:\program files\postgresql\bin\psql -d YOUR_DB_NAME -U postgres -c "select relname, relfilenode, relpages/128 as approx_Mb from pg_class order by approx_Mb desc limit 10;"
Si on vous le demande, entrez votre mot de passe PostGre. Cela vous montrera l'espace requis.

Cela donnera une liste semblable à la suivante :

Code:
"game_players";17433;217 
 "hand_histories";17438;107 
 "game";17426;20 
 "game_players_idx_02";17533;16 
 "game_players_idx_04";17535;15 
 "game_players_idx_01";17499;15 
 "game_players_idx_03";17534;15 
 "player_winnings";17448;6 
 "game_idx_03b";18010;6 
 "hand_histories_idx_01";17501;5
Cela vous indique que vous dez au moins avoir 217meg de libre sur votre disque dur pour pouvoir faire l'opération suivante.



4)
C'est maintenant le temps de recréer les tables. Assurez vous de pouvoir laisser votre ordinateur quelques heures.

Retourné à la ligne de commande (Start > Run > cmd), puis tapez les instructions suivantes. Vous pouvez toutes les taper en même temps ... pas besoin d'y aller une par une.

note : Changez YOUR_DB_NAME pour le nom de votre base de donnée.

Code:
c:\program files\postgresql\bin\psql -d YOUR_DB_NAME -U postgres -c "cluster session_idx_02 on session;" 
c:\program files\postgresql\bin\psql -d YOUR_DB_NAME -U postgres -c "cluster player_winnings_idx_02 on player_winnings;" 
c:\program files\postgresql\bin\psql -d YOUR_DB_NAME -U postgres -c "cluster player_idx_02 on players;" 
c:\program files\postgresql\bin\psql -d YOUR_DB_NAME -U postgres -c "cluster game_idx_01 on game;" 
c:\program files\postgresql\bin\psql -d YOUR_DB_NAME -U postgres -c "cluster game_players_idx_05 on game_players;"

5) Une fois cette opération terminée, arêttez les servives PostGreSQL. (Start > Run > services.msc) et faites une défragmentation de votre ordinateur.


6) Redémmarrez le service PGsql. Ouvrez Poker Tracker et allez dans "Vacum/analyse".



Voilà, c'est terminé! Votre base de données devrait être plus rapide. Refaites l'opération pour chacune des bases de données.

Si vous refaites l'opération dans le futur, vous pourrez utiliser simplement la commande "cluster" puisqu'une fois que la table a été "clusterée" (remise en ordre), elle se souviendra de l'index utilisé (des informations mentionées après la commande "cluster").

__________________________________________________ ____
Ce conseil Poker Tracker est une traduction d'un conseil posté par matt42s sur le forum de Poker Tracker.




Dernière modification par Lincoln Six Echo 27/09/2006 à 19h01.
(Offline)
 
Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT -4. Il est actuellement 06h09.



Powered by vBulletin version 3.6.5
Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Integrated by BBpixel Team 2008 :: jvbPlugin R1011.363.1