IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Séb.

  1. [SQL] Obtenir les dernières lignes -- 5 méthodes

    par , 30/09/2023 à 16h30
    Un problème récurrent quand on requête une base de données :

    Comment obtenir la ligne la plus récente de chaque groupe ?
    Le problème n'est pas seulement d'obtenir la date en question, mais l'ensemble des données relatives à la ligne la plus récente.

    Pour répondre à ce problème il faut :

    1. Identifier la colonne déterminant la notion temporelle
    Pour cela on aura généralement affaire à une colonne DATETIME.
    Attention, se référer ...
    Tags: mysql, sql
    Catégories
    Programmation
  2. [MySQL] Compter le nombre de lignes d'une table le plus vite possible

    par , 28/04/2023 à 09h43
    Une question du forum MySQL, « Comment obtenir le nombre de lignes d'une table le plus rapidement possible ? »

    Il est vrai que InnoDB n'est pas performant pour cet exercice, bien moins que MyISAM qui stockait le nombre de lignes en dur.

    Entre des tables à balayer ou des choix d'index hasardeux (faîtes un EXPLAIN pour voir ça), sur des tables volumineuses le résultat peut arriver en une fraction de secondes, ou plus d'une minute !

    J'ai retenu 3 requêtes ...
    Tags: mysql, sql
    Catégories
    Programmation
  3. PHP CLI et gestion du signal d'interruption

    par , 22/04/2023 à 11h18
    J'intègre et traite de la data toute la journée. Pour cela un script PHP CLI tourne en permanence, et dès que du nouveau arrive, c'est inséré en base de données, transmis par e-mail, déposé sur un WebDAV ou un SFTP, historisé, archivé, etc.

    Une belle mécanique, mais soudainement bien fragile dès qu'une maintenance est nécessaire. Que se passe-t-il si le script est interrompu en pleine écriture d'un fichier ? Les fichiers risquent d'être corrompus, des transactions SQL sont à annuler, ...

    Mis à jour 22/04/2023 à 14h30 par Séb.

    Tags: cli, php, signal
    Catégories
    Programmation
  4. Gestionnaire de profils mysql_config_editor

    par , 29/03/2023 à 01h41
    mysql_config_editor est un gestionnaire de profils livré avec MySQL et facilitant la connexion aux différents outils de la suite MySQL.

    Exemple, pour se connecter au client de manière classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ mysql --host=localhost --user=my_username --password=my_password
    Avec l'aide de mysql_config_editor et d'un profil my_profile_name préalablement créé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ mysql --login-path=my_profile_name
    mysql> select all user();
    +-----------------------+
    ...

    Mis à jour 29/03/2023 à 12h16 par Séb.

    Catégories
    Sans catégorie
  5. [SQL] Groupement par tranches horaires

    par , 04/03/2023 à 09h42
    Nous sommes souvent amenés à grouper des lignes selon des métriques temporelles quotidiennes, hebdomadaires, mensuelles, etc. Moins souvent à l'heure, au quart d'heure, à la minute. Voici un moyen simple de procéder.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SET @slice = 60 * 60 * 2; -- Groupement sur combien de secondes ? Ici sur 2 heures
     
    SELECT ALL
        DATE(created_at) + INTERVAL TIME_TO_SEC(created_at) DIV @slice * @slice SECOND AS slice,
        COUNT(*) AS n
    FROM dataset
    GROUP BY
    ...
    Tags: mysql, sql
    Catégories
    Programmation
Page 1 sur 4 1234 DernièreDernière