Showing entries 1 to 10 of 11
Suivant 1 Entrées plus anciennes »
Displaying posts with tag: sql (reset)
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]
Quelques trucs pour WordPress.com… WordPress Tips!

1. Insérer du code

Pour ceux qui se demandent comment insérer des bouts de code dans WordPress.com, il faut savoir qu’il existe des tags permettant de le faire.  Plusieurs langages de programmation populaires sont supportés mais pas Smalltalk, malheureusement…  Pas encore du moins!  Pour ce qui est du code SQL, ça  fonctionne assez bien.  Ça va nous permettre d’afficher nos requêtes à MySQL de façon lisible et agréable à l’oeil!

La méthode est expliquée en anglais seulement mais les indications sont faciles à suivre.

Ça donne quelque chose du genre :

SELECT *
FROM region
INNER JOIN (
SELECT region.PDB, region.CHAIN
FROM region
LEFT JOIN split_domain USING (SUNID)
WHERE split_domain.SUNID IS NULL
GROUP BY PDB, CHAIN
HAVING COUNT(*)>1
) AS x
ON
region.PDB = …
[Lire plus]
Comment presser un citron (préambule).

"La simplicité est la sophistication suprême" (Léonard de Vinci).

Problème : vous avez à trouver, en seulement quelques secondes, un enregistrement unique parmi des milliards de milliards de possibilité et les seules informations dont vous disposez pour faire votre recherche sont de 17 à 35 attributs sur les 81 que contiennent la donnée tant convoitée… Est-ce possible ? Comment faire? De prime abord, ça semble impossible!

"Impossible n’est pas français" comme le dit le dicton (faussement attribué à Napoléon Bonaparte, vexé par le pessimisme de Jean Léonard, comte le Marois).

Il y a bientôt quelques années de cela, un de mes confrères de travail, …

[Lire plus]
Showing entries 1 to 10 of 11
Suivant 1 Entrées plus anciennes »