MySQL permet de faire des effacements multi-tables : un effacement à jointure, si vous voulez. Mais cette fonctionnalité si pratique ne supporte pas la clause LIMIT, que JOIN et DELETE supportent séparément. Justin Swanhart vous propose alors une solution de remplacement, basée sur des variables de session.
« Précédent 10 Nouvelles entrées | Suivant 10 Entrées plus anciennes »
Modifier une petite ligne dans le fichier de configuration de son SGBD et obtenir les performances souhaitées, c’est possible… si vous êtes chanceux. La performance globale d’un SGBD repose en effet sur un ensemble de briques, logicielles ou matérielles, qui une fois empilées correctement forment un ensemble cohérent (et performant) : la seule étape du fichier de configuration ne suffit pas.
Dans un de ses récents billets, Matt Yonkovit a déclenché une série de réflexions intéressantes à propos de l’impact des performances des disques durs sur l’ensemble du SGBD.
Selon lui, les problèmes de performance au sein d’un SGBD sont la plupart du temps relatifs aux disques durs et notamment au nombre d’I/O (Entrées/Sorties) qu’ils …
[Lire plus]
"Outre ces mécanismes [NDJ : indexation et caches], la
technologie SSD pourrait bien à lavenir changer la donne.
Les SSD, littéralement Solid-State Drives (ou Disk par abus de
langage), ne sont pas des disques mais des unités de stockage
constituées de mémoire flash (persistante).
Au vu des benchmarks les concernant, il ya fort à parier que les
SSD seront de plus en plus dactualité dans les mois qui
viennent."
- http://www.dbnewz.com/2008/05/13/les-ssd-solid-state-drive-une-technologie-davenir-pour-nos-sgbd/ (0 visite)
- Final Mtron SSD, MySQL, MFT Benchmarks and more! (0 visite)
- Common Performance Mistakes: Disk (0 …
Les vues matérialisées sont des vues SQL, qui sont stockées
physiquement par la base. Les vues actuelles sont des vues
dynamiques, c'est à dire qu'elles se basent sur une exécution de
la requête sous-jacente à chaque utilisation. Si les données des
tables ne changent pas trop souvent, avoir un système de cache
donne une belle accélération.
Les vues matérialisées sont disponibles chez Oracle et DB2. Pour
MySQL, rien de standard, mais il doit être possible de s'en
sortir avec des tables en mémoire, et le programmateur
d'événements.
- MySQL and Materialized Views (0 visite)
- Indexed Views Basics in SQL Server 2000 (0 visite)
"Outre ces mécanismes [NDJ : indexation et caches], la
technologie SSD pourrait bien à lavenir changer la donne.
Les SSD, littéralement Solid-State Drives (ou Disk par abus de
langage), ne sont pas des disques mais des unités de stockage
constituées de mémoire flash (persistante).
Au vu des benchmarks les concernant, il ya fort à parier que les
SSD seront de plus en plus dactualité dans les mois qui
viennent."
Lorsque MySQL envisageait d'avoir des procédures stockées, la
rumeur circulait que PHP pourrait être le langage adopté. Ce ne
fut pas le cas, mais l'idée de pouvoir utiliser n'importe quel
langage de programmation comme procédure stockée est restée.
Résultat : c'est fait.
Il existe un plug-in MySQL udfng qui accepte du code en C, Java,
LegacyUDF (vieilles UDF), Perl et XML-RPC. Eric Herman et Antony
Curtis cherchent d'ailleurs les prochaines plates-formes à
ajouter. PHP! PHP!
- ProjectPage External Language Stored Procedures (0 visite)
- External Language Stored Procedures slides from Users Conference 2008 (0 visite)
- …
PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans
leurs versions courantes :
PHP 5.2.6 et 4.4.8; MySQL 5.0.51 (communauté) , 5.1.24-rc et
6.0.4.
Les mises à jour sont recommandées vers ces versions.
3 alertes de sécurité ont été émises cette semaine, concernant
des applications suivantes :
Joomla, e107 et ming
-
-
Joomla! and Mambo Datsogallery Component
'sub_votepic.php' SQL Injection Vulnerability
http://www.securityfocus.com/bid/29138 (0 visite)
Site : http://www.netsecurity.org/vuln.php?id=5115 (0 visite)
- e107 123 FlashChat Module "123flashchat.php" …
Brian Aker a cessé de compter le nombre de proxy pour MySQL qu'il a repéré : il y a SQL Relay, qui remonte à quelques années, MySQL Proxy, de Jan Kneschke. En fait, il y en a encore 4 autres différents. Lequel est le meilleur, se demande Brian?
- Proxy, Proxy, on the Wall, who is the fairest of them all... (0 visite)
- MySQL Proxy site (0 visite)
- SQLrelay (0 visite)
- SpockProxy (0 visite)
J’ai été pris avec un problème qui m’a pris un petit temps (30 minutes) à trouver aujourd’hui. Le message retourné par le serveur n’aidait vraiment pas: ERROR 1030: Got error -1 from storage engine
Pour faire une histoire courte, c’étais un vieu serveur sur lequel j’avais eu des problèmes de corruption. Pour bien faire, j’avais ajouté l’option innodb_force_recovery=4 dans le my.cnf dans l’espoire que ca corrige le tout, chose qui ne s’est pas produite.
J’ai donc décidé de tout supprimer (tables, databases, fichiers temporaires, etc) et de remettre à neuf avec un dump.sql créé avec mysqldump. Le recovery allait bien jusqu’à ce que le dump tente d’insérer dans une table InnoDB: ERROR 1030: Got error -1 from storage engine.
Pas évident au premier coup d’oeil. J’ai donc googlé jusqu’à temps que je trouve un post d’un gars qui avait eu le même problème. Il …
[Lire plus]Il n?existe pas d?autres moyen magique de sélectionner des enregistrements aléatoirement. Il y a seulement ORDER BY RAND(). Cependant, ORDER BY RAND() est un performance killer lorsque la table possède plusieurs milliés d?enregistrements.Prenons le cas où on veut afficher 10 enregistrements aléatoirement et que cette requête va être exécutée excessivement souvent par l?application. La table utilisée pour les tests est une table avec 500000 enregistrements.
Pour commencer, voyons voir comment MySQL réagis avec une requête qui ordonne sur la clef primaire avec une limite de 10 enregistrements:
- SELECT SQL_NO_CACHE *
- FROM tableA
- ORDER BY id LIMIT 10;
- // 0.00 sec
On s?y attendait, c?est tellement rapide que le client Mysql n?arrive pas à être assez précis pour dire le temps que ca a pris. Maintenant, une requête qui ordonne par RAND() avec une limite de 10 …
[Lire plus]« Précédent 10 Nouvelles entrées | Suivant 10 Entrées plus anciennes »