Linul a écrit 3 commentaires

  • [^] # Re: oublie

    Posté par  . En réponse au message Faire une maintenance SQL via Shell et cron ?. Évalué à 1.

    (Désolé pour le triple posts d'affilié.)

    Sinon je pensais faire par tranche de 200 entrèes avec PHP :

    Je m'explique, je traite les 200 premiers logs brut qui sont dans ma table "logs" puis avec la fonction sleep() j'attends 2 secondes avant de rediriger avec la fonction redirect() vers le même fichier avec $_GET pour reprendre les 200 suivantes etc

    La maintenance devrait se faire en 20 minutes pour 100 000 entrées à traiter.

    C'est pas la meilleure solution en terme de rapidité de la maintenance mais ça me semble fiable et léger non ?
  • [^] # Re: oublie

    Posté par  . En réponse au message Faire une maintenance SQL via Shell et cron ?. Évalué à 1.

    j'ai oublie à la question :

    >> les traitements sont fait sur le serveur de sgbd et pas par php ? ( tu fais bien "insert into toto select * from tata" et non pas "select * from toto" puis "insert into tata" pour chaque enregistrement ? "

    - Oui je compte faire "insert into toto select * from tata"
  • [^] # Re: php-cli

    Posté par  . En réponse au message Faire une maintenance SQL via Shell et cron ?. Évalué à 1.

    >>y'a un outil en ligne de commande qui permet de passer des requetes.
    - Non je compte l'automatiser manuellement via un script de maintenance.

    >> les tables sont correctement indexees ?
    - oui

    >> les traitements sont fait sur le serveur de sgbd et pas par php ? ( tu fais bien "insert into toto select * from tata" et non pas "select * from toto" puis "insert into tata" pour chaque enregistrement ? "
    - bein le script de maintenance sera surement fais en php, voir en shell ou les 2 je sais pas encore vue qu'en PHP je vais tout plomber et en shell je sais pas faire... Donc j'attends les retours sur les forums avant de faire une bêtise.

    >> tu peux peut etre passer par une vue
    - cet à dire stp ?


    ----

    >>"tu mets toutes tes requetes les une en dessous des autres séarées par des ; dans un fichier requetes.sql
    et dans cron tu lances le script suivant :
    #!/bin/sh
    mysql -u login -p password -D base < requetes.sql "

    - Ca me semble une bonne idée mais il faut que je génère le fichier requete.sql automatiquement donc je me demande si ça reviens pas au même question consommation de ressource lors de l'extraction de mes logs brut > le calcul des données et la création de ces lignes dans le fichier requete.sql

    Le but est pour moi que ça soit le plus rapide possible et optimisé pour éviter un mauvais traitement voir une coupure pendant la maintenance ce qui aurait pour incidence de fausser mon système de stats.

    ----

    >> Si ton code de maintenance est déjà fait en php, tu pourrais envisager d'utiliser l'interpréteur php en ligne de commande (package php4-cli pour Debian).
    - Cet à dire stp
    Sinon non je ne l'ai pas encore fais, je cherche encore le meilleur moyen de faire ça car la seule solution que j'ai trouvé c'est de générer les requêtes et calcul avec en boucle avec un while en php (aïe, aïe...)

    Désolé si je percute pas au quart de tour, j'y connais pas grand chose en shell ou ce style de requête gourmande et automatisé.