IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Tab Content
Plus d'activité
Informations de Séb.

Informations de base

Âge
46
Informations de Séb.
Pays:
France
Secteur:
High Tech - Opérateur de télécommunications

Signature


Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple

Statistiques


Messages au total
Messages au total
5 091
Messages par jour
0,73
Informations générales
Dernière activité
Aujourd'hui 11h40
Date d'inscription
28/03/2005
Voir le blog de Séb.

Billets récents

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

par Séb., 30/09/2023 à 15h30
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

En lire plus...

Mis à jour 15/03/2024 à 09h08 par Malick (Ajout balises code)

Catégories
Programmation

[MySQL] Compter le nombre de lignes d'une table le plus vite possible

par Séb., 28/04/2023 à 08h43
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

En lire plus...

Catégories
Programmation

PHP CLI et gestion du signal d'interruption

par Séb., 22/04/2023 à 10h18
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,

En lire plus...

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

Catégories
Programmation

Gestionnaire de profils mysql_config_editor

par Séb., 29/03/2023 à 00h41
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();
+-----------------------+

En lire plus...

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

Catégories
Sans catégorie

[SQL] Groupement par tranches horaires

par Séb., 04/03/2023 à 08h42
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

En lire plus...

Catégories
Programmation
Aucune certification n'a été indiquée. Déclarez vos certifications