Auteur Sujet: Obtenir l'identifiant de la dernière transaction  (Lu 9915 fois)

Hors ligne SorenS

  • Membre Junior
  • **
  • Messages: 91
  • Karma: +0/-0
  • Développeur web PHP
    • Kueny Raphaël - Développeur web php
Re : Obtenir l'identifiant de la dernière transaction
« Réponse #15 le: 04 juin 2009 à 15:51:31 »
"4 298 814 471" la véritable id est "298 814 471" vu que 4 montre le mois non ???
--- Développeur web php passionné de jeux web ---

Hors ligne keke

  • Animateur
  • Membre Junior
  • *****
  • Messages: 89
  • Karma: +3/-0
    • Magdales
Re : Obtenir l'identifiant de la dernière transaction
« Réponse #16 le: 04 juin 2009 à 16:22:07 »
Oui et non ^^. J'illustrais les exemples de techniques employés en industrie pour pallier à ce problème d'id.

Mon Id réel est '4 298 814 471' mais ça correspond effectivement au 298 814 471 eme enregistrement est inséré ce mois ci. bref, 1/4 de milliards de transaction par mois pour le compte de mon client.

J'ai parlé de procédures stockées. En fait, il s'agit de séquence en Oracle. Bon, c'est kiff-kiff, mais autant indiquer les choses le plus clairement possible. On sait jamais.

Sorens > tu avais donc bien compris le truc ^^

Kéké qui devrait améliorer son jeu au lieu de passer ses journées sur les blogs/forums ...
Kéké : administrateur de Magdales.

Hors ligne guile

  • Membre Junior
  • **
  • Messages: 56
  • Karma: +1/-0
Re : Obtenir l'identifiant de la dernière transaction
« Réponse #17 le: 04 juin 2009 à 23:35:24 »
Question bête : vous cherchez réellement à indexer une table de log?
Evidemment qu'il existe des projets dont le nombre d'enregistrements est tel que la nécessité d'un BIGINT est indispensable. Néanmoins, Kéké l'a très bien dit : à ce moment il y a obligatoirement utilisation de partition de table. D'autres projets n'utilisent même plus de nombre comme identifiant, mais bien une chaîne de caractères.
Dans ce domaine là, ce n'est ni Oracle, ni MySQL qui sont les meilleurs. A vrai dire je ne me rappelle plus du nom.

Et je reviens sur tout ça : arriver à faire une base de données de plus de 4 milliards de lignes c'est une hérésie pour un jeu alternatif en ligne : soit le site est lent quand il s'agit d'accéder à cette base, soit le projet est "coûteux" en hébergement.

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Obtenir l'identifiant de la dernière transaction
« Réponse #18 le: 05 juin 2009 à 07:45:22 »
Citer
Dans ce domaine là, ce n'est ni Oracle, ni MySQL qui sont les meilleurs. A vrai dire je ne me rappelle plus du nom.
DB2 ?!

Hors ligne keke

  • Animateur
  • Membre Junior
  • *****
  • Messages: 89
  • Karma: +3/-0
    • Magdales
Re : Re : Obtenir l'identifiant de la dernière transaction
« Réponse #19 le: 05 juin 2009 à 10:53:02 »
Et je reviens sur tout ça : arriver à faire une base de données de plus de 4 milliards de lignes c'est une hérésie pour un jeu alternatif en ligne : soit le site est lent quand il s'agit d'accéder à cette base, soit le projet est "coûteux" en hébergement.

Merci de recentrer le sujet ^^. J'ai cette fâcheuse tendance à m'écarter du sujet.
Certains jeux réunissent 180 000 joueurs par mois. C'est un problème d'échelle ^^.

La vitesse d'une requête n'est pas proportionnel à la taille de la table. Effectivement, si tu souhaites extraire toutes la table, ça va être lent, mais si tu extrais selon un index (et oracle permet l'auto-indexage pour les projets n'ayant pas un expert ORACLE sachant manipuler la commande +HINT+), la requête ne dépendra pas de la taille de la table ... même avec des tables liées.

Je recentre sur ta question :
4 millards ? une hérésie ? Je ne le crois pas. Je suis persuadé que des gros projets amateurs ont des tables avec plus de lignes, ou du moins, qu'ils ont eu cette problématique en tête ne serait-ce qu'au cas où.

je recentre sur la ressource initiale de Prélude :
Je trouve que la méthode de Prélude est élégante et a permis à plusieurs personnes de réagir de manière constructive. Si ce type de sujet engendre régulièrement d'aussi bonnes réactions, ce forum va cartonner dans les mois à venir !

+1 à tous les intervenants !

Kéké
PS : DB2 gère des tables contenant plusieurs Tera octets de données sur de l'AS400 ... ca peut représenter un paquet de lignes
Kéké : administrateur de Magdales.

Hors ligne Max

  • Néophyte
  • *
  • Messages: 12
  • Karma: +3/-0
    • Empirium, jeu de stratégie gratuit
Re : Re : Obtenir l'identifiant de la dernière transaction
« Réponse #20 le: 08 décembre 2009 à 22:08:06 »
Je me suis fait depuis un bout de temps maintenant, une classe MySQL que j'améliore au fur et à mesure des besoins.

Si je peux me permettre, dans le même esprit et plus "officiel" il y a PDO, qui permet de ne plus se soucier du SGBD. Ainsi vous pourrez un joueur passer sur une autre base sans avoir à changer des "mysql_" partout dans votre code.
Et il y a quelques automatisations qui facilitent la vie du développeur (comme la protection contre l'injection SQL).

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Obtenir l'identifiant de la dernière transaction
« Réponse #21 le: 09 décembre 2009 à 09:04:03 »
Permet toi ! Au contraire.
J'aime bien créer mes propres outils. Ça me permet d'apprendre. Donc, quand j'en ai le temps, je préfère créer.
Sinon, cette librairie est très certainement bien, mais elle intègre le fait que l'on veuille changer un jour (pas un "joueur"  ;) ) de base. Ce qui implique très certainement un surplus de code, non ?! Du coup, est-ce réellement nécessaire ? Combien parmi vous ont-ils changé de base ?
Quoiqu'il en soit, il existe, en effet, pas mal de librairies déjà prêtent qui tiennent compte de pas mal de "détails" dont on ignore l'existence lorsque l'on démarre (sécurité notamment).
Je ne peux que vous conseiller vivement le site Php Classes.