Optimisation mysql

Optimisation mysql - SQL/NoSQL - Programmation

Marsh Posté le 22-06-2003 à 20:53:32    

Salut,  
 
Dans la doc officielle:

Si vous avez vraiment besoin de très haute vitesse, vous devriez considérer les interfaces de bas niveau pour le stockage des données que les différents serveurs SQL supportent. Par exemple, en accédant directement aux tables MySQL MyISAM , vous pourriez obtenir un gain de vitesse de l'ordre de 2 à 5 fois, en comparaison avec l'interface SQL. Pour cela, les données doivent être sur le même serveur que l'application, et généralement, elles ne doivent être manipulées que par un seul programme à la fois (car le verrouillage externe de fichiers est très lent). Vous pouvez éliminer ces problèmes en créan des commandes MyISAM de bas niveau dans le serveur MySQL (cela peut se faire facilement pour améliorer les performances). Soyez très prudent dans la conception de votre interface, mais il est très facile de supporter ce type d'optimisation.  

on peut lire ca.
 
Est ce que quelqu'un aurait des informations quant à son utilisation?
 
merci

Reply

Marsh Posté le 22-06-2003 à 20:53:32   

Reply

Marsh Posté le 23-06-2003 à 10:42:09    

up

Reply

Marsh Posté le 24-06-2003 à 11:33:58    

[:xfred4]

Reply

Marsh Posté le 26-07-2003 à 21:59:19    

drapeau + up

Reply

Marsh Posté le 26-07-2003 à 23:26:21    

drapal aussi. Mais là, ca devient complexe :D  
(mais intéressant :) )

Reply

Marsh Posté le 27-07-2003 à 02:00:44    

Faudra m'expliquer "créan des commandes MyISAM de bas niveau dans le serveur MySQL"
 
 
Sinon, le principe, c'est de lire directement dans les fichiers SQL :??:
 
mais je pige pas comment ca peut etre plus rapide, car les données des fichiers devront être lues avant d'etre retournées
 
à moins qu'ils parlent de "vues" statiques, là ca pourrait etre interressant.

Reply

Marsh Posté le 27-07-2003 à 02:06:13    

Une table MyISAM, c'est tout simplement 3 fichiers enregistrés quelque part (1 qui contient la définition de la table, 1 pour les données, 1 pour les index).
Il semblerait que tu puisses gérer directement le contenu brut de ces fichiers :)

Reply

Marsh Posté le 27-07-2003 à 02:09:54    

mrBebert a écrit :

Une table MyISAM, c'est tout simplement 3 fichiers enregistrés quelque part (1 qui contient la définition de la table, 1 pour les données, 1 pour les index).
Il semblerait que tu puisses gérer directement le contenu brut de ces fichiers :)  

Oui merci, je sais pour les fichiers ;)
 
 
Mais quand tu fais une requete MySQL, ta requete va également chercher directement dans les fichiers (indexes ..) donc je comprends pas [:relax kev taitai]

Reply

Marsh Posté le 27-07-2003 à 04:27:51    

ca sert a quoi dutiliser des langages evolues si c pour faire du bas niveau apres ????
 
autant programmer en C ou Asm tout de suite alors (ouais bon jexagere un peu  :D )

Reply

Marsh Posté le 30-07-2003 à 22:58:16    

red faction a écrit :

ca sert a quoi dutiliser des langages evolues si c pour faire du bas niveau apres ????
 
autant programmer en C ou Asm tout de suite alors (ouais bon jexagere un peu  :D )


A un troll près, je suis entièrement d'accord :jap:
 
Rien ne vaut un fichier plat pour l'accès aux données, donc si c'est pour se taper les traîtements à la mano, autant le faire proprement dans un tel fichier à partir d'un programme en C ou ASM...

Reply

Marsh Posté le 30-07-2003 à 22:58:16   

Reply

Marsh Posté le 30-07-2003 à 23:02:26    

Ca peut peut être permettre d'utiliser mysql pour d'autres problèmes (accès concurrents, décodage de la requête, certaines optimisations...) ? [:figti]

Reply

Marsh Posté le 31-07-2003 à 00:08:42    

Bah nan, ils expliquent que c'est dédié à des tâches mono-utilisateur, à cause des locks justement... C'est pour ça, je vois vraiment pas le moindre intérêt...

Reply

Marsh Posté le 31-07-2003 à 01:18:26    

ben tu peux avoir besoin d'inserer un max de trucs rapidement, ou des opération comme ca, et apres de profiter de l'interface SQL pour faire des requetes avec d'autres programmes par exemple
 
En gros tu profite du codé optimisé du truc fait à la main, mais en conservant la possibilité d'acceder aux donnée en sql

Reply

Marsh Posté le 31-07-2003 à 10:03:16    

Mouais...
 
Je comprends mieu pourquoi mysql a mis autant de temps à supporter les contraintes d'intégrité, et ne supporte toujours pas ni triggers ni procédures stockées... Parcequ'avec ce genre de manips, tu peux foutre en péril l'intégrité de ta base et des traîtements associés... J'ai du mal à suivre la logique de mysql, et encore plus les personnes qui se basent sur ce genre de bidouilles pour te dire que c'est un très bon sgbdr... Là on est clairement face à des fonctionnalités d'un sgbd tout court (et encore)

Reply

Marsh Posté le 13-08-2003 à 16:07:31    

up, comment utiliser cette interface de bas niveau ? :D

Reply

Marsh Posté le 13-08-2003 à 16:36:18    

fopen()  
fwrite()  
fclose()  
 ;)  
 
sinon tu peux toujours essayer d'abandonner le type myIsam au profit de innoDB, j'ai jamais poussé bien loin mais ça a quand même l'air assez interessant ( voir le benchmark la: http://www.innodb.com/bench.html )

Reply

Marsh Posté le 13-08-2003 à 16:37:20    

Anapajari a écrit :

fopen()  
fwrite()  
fclose()  
 ;)  

ah ok, c'est carrement à la barbare alors :D

Reply

Marsh Posté le 13-08-2003 à 16:38:14    

mais avec ca, ca peut, à la limite servir à insérer des données, mais pour les updates, delete, et select ca doit pas etre intéressant ?

Reply

Marsh Posté le 13-08-2003 à 16:39:39    

tu es sur que c'est ca ?
Parce que je viens d'ouvrir les fichiers .frm, .MYI, .MYD, et je vois pas ce que je pourrai faire avec les fonctions sur les fichiers :D

Reply

Marsh Posté le 14-08-2003 à 15:08:14    

remonte petit topic

Reply

Marsh Posté le 14-08-2003 à 15:17:48    

Comme dit la doc:

Citation :


Par exemple, en accédant directement aux tables MySQL MyISAM , vous pourriez obtenir un gain de vitesse de l'ordre de 2 à 5 fois, en comparaison avec l'interface SQL.


Donc si tu shootes ton interface SQL il te reste pls qu'a acceder à tes fichiers plats.
Si mes souvenirs sont bon tu dois avoir un fichier de documenation  myisam.txt dans les sources de mysql. Ptêt tu peux le trouver sur le net je sais pas!

Reply

Marsh Posté le 31-01-2004 à 15:42:49    

qqn utilise t'il?
 
parce que je vois pas comment faire avec les fonctions sur les fichiers vu les fichiers

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed