Nous démarrons par le niveau du système, car certaines décisions à ce niveau doivent être prises très tôt. Dans d'autres cas, un regard rapide à cette partie doit suffire, car ce n'est pas tellement important pour les gros gains. Toutefois, il est toujours sympathique de sentir combien on peut gagner en changeant des choses à ce niveau.
Le choix du système d'exploitation est vraiment important! Pour utiliser au maximum les capacités de machines multi-processeurs, il vaut mieux choisir Solaris (car les threads marchent vraiment très bien) ou Linux (car le noyau 2.2 supporte très bien le SMP). Mais les plates-formes Linux 32 bits limitent par défaut la taille des fichiers à 2 Go. Heureusement, cela sera bientôt réparé avec l'arrivée des nouveaux systèmes de fichier (XFS/Reiserfs). Si vous souhaitez désespérement utiliser des fichiers de plus de 2 Go sur Linux-intel 32 bits, vous devriez utiliser le patch de LFS pour le système de fichier ext2
Comme nous n'avons pas utilisé MySQL en production sur énormément de plates-formes, nous vous conseillons de tester votre plate-forme avant de la choisir définitivement.
Autres astuces:
Si vous avez suffisamment de RAM, vous pouvez supprimer toutes les partitions d'échange (swap). Certains systèmes d'exploitation utilisent parfois la partition d'échange quand bien même il reste de la mémoire libre.
            L'utilisation de l'option
            --skip-external-locking de MySQL empêche
            les verrous externes. Cela n'influencera pas les
            fonctionnalités de MySQL tant que vous n'utilisez qu'un
            seul serveur. Il faut cependant penser à arrêter le
            serveur (ou bien de verrouiller les parties pertinentes)
            avant d'utiliser myisamchk. Sur certains
            systèmes, cette option est inutile car les verrous externes
            ne fonctionnent pas du tout.
          
            L'option --skip-external-locking est
            activée par défaut quand on compile avec
            MIT-pthreads, car
            flock() n'est pas totalement supporté
            sur toutes les plates-formes par
            MIT-pthreads. Elle l'est également sur
            Linux, cat le verrouillage des fichiers de Linux n'est pas
            encore sûr.
          
            Les seuls cas où on ne peut pas utiliser
            --skip-external-locking sont si on utilise
            plusieurs serveurs (pas de clients)
            MySQL sur les mêmes données, ou si on lance
            myisamchk sur une table sans vider son
            tampon et sans la verrouiller au préalable.
          
            Il est toujours possible d'utiliser LOCK
            TABLES/UNLOCK TABLES même si
            vous utilisez --skip-external-locking.
          
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

