MySQL Toolkit

J’ai finalement fait mon premier vrai commit sur GitHub, MySQL Toolkit.  Ce repository, avec un peu de temps, deviendra une collection de scripts, de fonctions, de procédures stockées et d’un tas d’autres choses utiles lorsque vous travaillez avec MySQL.  Pour l’instant toutefois, il n’y a que des fonctions.

Ce premier commit comprend:

collapse_blanks : Replaces multiple blanks with a single space.
collapse_spaces : Replaces multiple spaces with a single space.
initcap : Returns a character string with the first letter of each word converted to uppercase. This function EXACTLY mimics INITCAP of Oracle.
occurrences : Returns …

[Lire plus]
Compression et MySQL : la suite

Voici la suite de l’article dont je parlais précédemment ici.

MySQL 5.7 vs MySQL 8.0

Quelles sont les différences de performance entre les 2?  C’est tout expliqué ici.

Your ORM and SELECT FOR UPDATE

Les ORM (Object-relational mapping), une solution magique?  Pas vraiment!  Voici pourquoi !

AFUP Day 2019 : voici le programme

Nouvelle année, nouveau cycle de conférences pour l’AFUP qui a choisi cette année de « donner le pouvoir à ses antennes locales » : l’association vient de lever le voile sur les programmes des trois éditions 2019 prévues à Lille, Lyon et Rennes, le vendredi 17 mai.

Cette première édition s’annonce sous les meilleures auspices et semble d’ores et déjà très attendue par la communauté PHP. Ainsi, nous assurent les organisateurs, « les places partent vite, l’AFUP Day 2019 Lyon annonce complet. »

Côté thématiques, de nombreux sujets couvriront les dernières avancées du langage : PHP 8 ou l’état du code en 2019 seront notamment abordés. Plusieurs retours d’expérience viendront expliquer comment PHP est utilisé en entreprise, avec des talks abordant la migration d’un Zend Framework 1.12 vers Symfony, …

[Lire plus]
MySQL Partition pruning Explained

Toutes les subtilités du partition pruning dans MySQL expliquées ici.

Compression et MySQL

La compression des données avec MySQL, est-ce performant?  Est-ce utile? Est-ce rapide?

La réponse dans cet excellent papier.

GRANT, REVOKE et MySQL 8.0

Si vous comptez prochainement utiliser MySQL 8.0, vous devriez réviser tout ce que vous savez sur les droits d’accès, les commandes GRANT, REVOKE, CREATE USER et les rôles! Un excellent résumé ici.

 

Slides du MySQL Day Paris 2018 – NoSQL + SQL = MySQL

Au nom de toute l'équipe MySQL, je souhaite vous remercier pour votre présence !

On a certes dû un peu pousser les murs (sorry for that), mais finalement cela n'a fait que contribuer à rendre l'événement encore plus convivial :)

Et voici les slides:

The post Slides du MySQL Day Paris 2018 – NoSQL + SQL = MySQL first appeared on dasini.net - Journal d'un expert MySQL.

collapseSpaces

Besoin d’éliminer les espaces multiples pour les remplacer par un seul?  J’ai ce qu’il vous faut!

 

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES';
DROP FUNCTION IF EXISTS collapseSpaces;

DELIMITER //
CREATE FUNCTION collapseSpaces ( stringparam VARBINARY(255))
RETURNS VARBINARY(255)
DETERMINISTIC
LANGUAGE SQL
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'Returns a string with all spaces replaced/merged by/into a single space character'

BEGIN
DECLARE newString VARBINARY(255);
DECLARE hasChanged TINYINT UNSIGNED;
DECLARE oldLength TINYINT UNSIGNED;

SET hasChanged = 1;
SET newString = stringparam;
SET oldLength = CHAR_LENGTH(stringparam);

WHILE hasChanged DO
SET newString = REPLACE(newString, ' ', ' ');
SET hasChanged = (oldLength != CHAR_LENGTH(newString));
SET oldLength = CHAR_LENGTH(newString);
END WHILE; …
[Lire plus]