101 votes

Fonctions cachées de MySQL

J'ai travaillé avec Microsoft SQL Server depuis de nombreuses années mais je n'ai commencé que récemment à utiliser MySQL avec mes applications web, et je suis avide de connaissances.

Pour poursuivre la longue lignée des Questions sur les "fonctions cachées". J'aimerais connaître toutes les fonctions cachées ou pratiques de MySQL, ce qui me permettrait d'améliorer mes connaissances de cette base de données open source.

3voto

Nikhil Points 2048

Voici quelques-uns de mes conseils - j'en ai parlé dans mon blog ( Lien )

  1. Il n'est pas nécessaire d'utiliser le signe '@' pour déclarer des variables.
  2. Vous devez utiliser un délimiteur (la valeur par défaut est ';') pour délimiter la fin d'une déclaration -. Lien
  3. Si vous essayez de déplacer des données entre MS-SQL 2005 et mySQL, il y a quelques obstacles à franchir. Lien
  4. Faire des correspondances en respectant la casse dans mySQL enlace

3voto

Hawk Kroeger Points 1850

Si vous êtes amené à travailler avec des bases de données InnoDb importantes et/ou à fort taux de transaction, apprenez et comprenez "SHOW INNODB STATUS". Blog sur les performances de Mysql il deviendra votre ami.

3voto

DBMarcos99 Points 310

Si vous utilisez cmdline Mysq, vous pouvez interagir avec la ligne de commande (sur les machines Linux - je ne sais pas s'il existe un effet équivalent sous Windows) en utilisant le point d'exclamation. Par exemple :

\! cat file1.sql

affichera le code de file1.sql. Pour sauvegarder votre déclaration et votre requête dans un fichier, utilisez la fonction tee

\T filename

pour désactiver cette fonction, utilisez \t

Enfin pour exécuter un script que vous avez déjà sauvegardé, utilisez "source filename". Bien sûr, l'alternative normale est de diriger dans le nom du script lors du démarrage de mysql depuis la ligne de commande :

    mysql -u root -p < case1.sql

J'espère que cela pourra servir à quelqu'un !

Edit : Je viens de me souvenir d'une autre chose - lorsque vous invoquez mysql à partir de la ligne de commande, vous pouvez utiliser le commutateur -t pour que la sortie soit au format tableau - une vraie aubaine pour certaines requêtes (bien que bien sûr, terminer les requêtes avec \G comme mentionné ailleurs ici est également utile à cet égard). Beaucoup d'autres informations sur les différents interrupteurs Outil en ligne de commande

Je viens de découvrir un moyen astucieux de modifier l'ordre d'un tri (normalement, on utilise Case...). Si vous souhaitez modifier l'ordre d'un tri (par exemple, trier par 1, 4, 3, 2 au lieu de 1, 2, 3, 4), vous pouvez utiliser la fonction field dans la clause Order by. Par exemple

Order By Field(sort_field,1,4,3,2)

3voto

Johan Points 34755

Je ne pense pas que ce soit spécifique à MySQL, mais cela m'a éclairé :

Au lieu d'écrire

WHERE (x.id > y.id) OR (x.id = y.id AND x.f2 > y.f2) 

Vous pouvez simplement écrire

WHERE (x.id, x.f2) > (y.id, y.f2)

2voto

Mysqlsla - L'un des outils d'analyse des journaux de requêtes lentes les plus utilisés. Vous pouvez voir le top 10 des pires requêtes depuis le dernier lancement des journaux de requêtes lentes. Il peut également vous dire le nombre de fois où cette MAUVAISE requête a été lancée et le temps total qu'elle a pris sur le serveur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X