MySQL - Impact of multiple column indexes misuse
Tips Case Study
February 13, 2008 | COMMENTS

Here is a quick picture about the impact of MySQL indexes misuse. At work, our developers made a new release of their search engine using MySQL fulltext indexes, unfortunately they didn’t implement it correctly. The impact was a huge load on all our database servers. To find the trouble, I had to redirect the SQL search flow to a specific server and check for the slow queries then reproduce it with EXPLAIN. Don’t need a long time to find that the search query did an invalid usage of the fulltext index and the "Match / Against" syntax. In fact, the fulltext index was a multiple column fulltext index, in such case you have to specify ALL the column present in your index, else the index won’t be used by MySQL...

MySQL - Fulltext Indexes (MATH / AGAINST)
Printing a sequence of letters or numbers
Shell Tips
January 14, 2008 | COMMENTS

Some times, while scripting in your favorite shell (I mean Bash !! 😃 you need to print a sequence of letters or numbers. Don’t write it yourself ! Script it using seq or curly braces !

nicolas@macvin:~$ seq 1 10
1 2 3 4 5 6 7 8 9 10
nicolas@macvin:~$ seq 0 2 10
0 2 4 6 8 10
nicolas@macvin:~$ echo {1..10}
1 2 3 4 5 6 7 8 9 10
nicolas@macvin:~$ echo {a..g}
a b c d e f g

Hope this will help you while doing a loop or building some hash directories :

nicolas@macvin:~$ mkdir -p test/{1..10}/{1..10}

Enjoy !

How to flush DNS Cache in Mac OS X ?
Shell Tips
January 3, 2008 | COMMENTS

Joy ! I just get my new [Mac Book Pro][1] (2Go RAM / 2,4Ghz Core 2 Duo / 160Go HDD / etc.). So I’m playing a lot with [VMware Fusion][2] and multiple host (debian, ubuntu, solaris, windows, etc.) with a great fluidity ! A big improvement for me who was working with an old DELL Laptop with 1Ghz Celeron and 512Mo of Ram...

But, while playing with my new laptop and my multiple virtual instances I needed to flush my DNS Cache. So, here come the tips :

With Mac OS X <= 10.4 :

macvin:~ root# lookupd -flushcache

With Mac OS X > 10.5 :

macvin:~ root# dscacheutil -flushcache

Bind 9.5.0 - Patch dlz MySQL 5 for auto reconnect
News Tips
September 4, 2007 | COMMENTS

Here is a quick post of a "quick and dirty" patch for the [ISC DNS][1] Server : Bind 9.5.0a6 and its dlz mysql driver. For the quick story, I was using [Bind][2] 9.4.1 with dlz MySQL. My [MySQL][3] server is a 5.0.41 (with [solidDB][4]). While using it, I realize that some times the dns server was returning empty value for the dns queries. I tried many tips but it was still (sometime) giving me empty answer... Of course, I suspected the dlz driver. So, I tried to upgrade to Bind 9.5.0a6 but the problem still happened and the only way to fix was to restart bind !

Continue Reading
Working with Bash Aliases (Alias/Unalias)
Shell Tips
August 25, 2007 | COMMENTS

Aliases allow a string to be substituted for a word when it is used as the first word of a simple command. The shell maintains a list of aliases that may be set and unset with the alias and unalias builtin commands.

Continue Reading