Showing entries 1 to 10 of 13
Suivant 3 Entrées plus anciennes »
Displaying posts with tag: sql (reset)
Des requêtes à problèmes?

Quand MySQL se me à déraper, c’est habituellement l’oeuvre de quelques requêtes SQL problématiques.  Un petit rappel pour vous aider à trouver la/les coupables!


Classé dans:bases de données, informatique, MySQL, optimisation, SQL Tagged: MySQL, …

[Lire plus]
Les plaques du Congo

Comment générer une clef séquentielle et incrémentale composée d’une partie numérique et d’un suffixe lettré?

Comme c’est une situation souvent rencontrée et que les gens détestent habituellement s’attaquer aux procédures stockées et/ou évitent d’utiliser leur langage de programmation favori (pour avoir une solution à 100% en SQL), j’ai pensé vous montrer le problème qu’on m’a demandé de résoudre en SQL et ma solution (qui peut facilement être adaptée aux problèmes similaires)…

Dans le cas qui nous intéresse, il s’agit de plaques d’immatriculation de la République du Congo (format CEMAC).


/*
En supposant la définition suivante

CREATE TABLE plaques(plaque VARCHAR(10));

Et le format de plaque …
[Lire plus]
Quick Guide On How To Ask A MySQL-related Question Properly

Note: this article was originally posted in French here.

You!  Yes!  Yep, you! I’m talking to you my friend!  You, the one that I help out in forums, on IRC, on mailing lists!

Each and every day, I answer questions related to MySQL, mostly about SQL queries or optimization problems. Whether it’s on dBForums, Stack Overflow, MySQL.com, developpez.net or on IRC (irc.freenode.net, channel #mysql), it’s always the same thing! If you want me to help you, make it easy for me!

So, here’s a quick guide explaining what you have to do if …

[Lire plus]
Count occurrences of a string using MySQL

This was originally posted in French here.

There’s no string function in MySQL (and many other databases!) to help you find the number of occurrences of a string within another string.  For example, how many times does « abc »  appear in « abcbcbabcbacbcabcababcabacb » ?

I was asked this question on IRC a long time ago. Some poor soul was trying to find a particular subsequence in a genomic string (for instance « TAT ») in the following sequence :

ATTGGTGGGCTCTACTAAGATATCAACGGGACTTCGGAGCGTGCCGCACTATTT

Obviously, you can use your favorite programming language and do this kind of search programmatically but is there a way to do it in SQL?

Luckily, the answer is yes!  The solution is simple and looks like …

[Lire plus]
What’s new?

What’s new?

After a major data loss (I haven’t given up on getting back all my data, mostly code repositories and databases!), I had to start all my pet projects from scratch. Luckily, it’s easier second time around as they say! And, lucky me, I store all my personal stuff on the web! So here’s a list of what’s coming up on this blog.

Ruzzle

Even though I had a decent working version of the genetic algorithm program to find the best ruzzle grid (original posts in French here, here and here), I wasn’t satisfied with the code.  It slowly evolved from a bunch of code …

[Lire plus]
Guide rapide de la question MySQL bien posée

Oui!  Toi mon ami!  Oui!  Toi!  C’est à toi que je m’adresse!  Celui que je dépanne et que j’aide « gratis » à chaque jour!

Je réponds quotidiennement à des questions au sujet de MySQL, principalement de requêtes et d’optimisation.  Que ce soit sur dBForums, Stack Overflow, MySQL.com, developpez.net ou sur IRC (irc.freenode.net, channel #mysql), c’est toujours la même chose.  Si tu veux que je t’aide, aide-moi à t’aider!

Donc, un petit guide de ce qu’il faut faire pour qu’on puisse résoudre ton problème le plus rapidement possible.

Explique ton problème clairement

Si tu es …

[Lire plus]
Doit-on désactiver ou non le query cache de MySQL ?

I – Qu’est ce que le query cache

Le query cache de MySQL a été introduit à partir de la version 4.0 de MySQL. Son principe de fonctionnement est simple : c’est une table de hash géante qui associe des requêtes SQL brutes à un ensemble de résultats.

Cela signifie que si vous rajoutez un espace ou changer une majuscule à votre requête SQL, elle sera différente du point de vue du query cache.

Cette approche simple signifie aussi qu’à la moindre modification / écriture dans une table, il faut que toutes les entrées du query cache concernant la table en question soient invalidées.

Dans des applications qui utilisent de la lecture de façon intensive, sans beaucoup d’écriture, …

[Lire plus]
Comment presser un citron (troisième partie)

1. Un problème n’arrive jamais seul

Dans la deuxième partie de cet article (le premier article étant ici), nous nous sommes laissés sur un exemple extrême (i.e. une grille avec des lignes et des colonnes vides) afin de vérifier la validité et l’efficacité de la solution présentée dans un des pires scénarios envisageable :

Avant même de débuter, rappelez-vous qu’il est primordial d’exécuter la commande suivante dans votre session pour éviter d’avoir à attendre une éternité, que ce soit pour la …

[Lire plus]
Meetup Les Bases de données relationnelles avec PHP

L’antenne locale parisienne vous donne rendez-vous le 28 Février chez Linagora pour une soirée sur ‘Les Bases de données relationnelles avec PHP‘, sujet qui fait beaucoup parler et suscite nombre de débats ! Les deux conférenciers qui animeront cette soirée sont à la hauteur du sujet choisi puisqu’il s’agit de Olivier Dasini, Expert MySQL chez [...]

Comment trouver le nombre d’occurrences d’une chaîne de caractères dans MySQL?

Il n’existe pas de fonction dans MySQL  (et bien d’autres SGBD) pour trouver le nombre d’occurrences d’une chaîne de caractères dans une autre.  Par exemple, combien de fois « ait » apparaît dans la chaîne « Il était grand mais il avait peur » ?

Ou, comme on me l’a récemment demandé sur IRC, vous cherchez à déterminer le nombre d’occurrences d’une sous-séquence particulière (par exemple, « TAT ») dans la séquence génomique suivante :

ATTGGTGGGCTCTACTAAGATATCAACGGGACTTCGGAGCGTGCCGCACTATTT

Évidemment, vous pouvez lire les données du SGBD puis faire la recherche en mémoire en utilisant votre langage de programmation préféré mais comment faire le tout en SQL ?

La solution est simple et elle a la forme suivante :


SELECT FLOOR(( LENGTH(source) - LENGTH(REPLACE(source, chaineAChercher, '')) ) / (LENGTH(chaineAChercher))) as occ …
[Lire plus]
Showing entries 1 to 10 of 13
Suivant 3 Entrées plus anciennes »