Les index n'ont plus de secret pour dbnewz, et il n'en n'auront
plus pour vous non plus quand vous aurez lu ce long dossier. En
plus du classique EXPLAIN qui explique l'utilisation des index
par les requêtes, vous pourrez découvrir PROCEDURE ANALYSE(), qui
optimise le type de données pour votre table.
Index simples, index multiple, choix des index : tout y passe. Il
ne reste que la structure des index et leurs performances, à voir
dans les prochains articles.
« Précédent 10 Nouvelles entrées | Suivant 10 Entrées plus anciennes »
PHP Reports est une bibliothèque qui aide à la génération de formulaires de rapports. Elle découpe la production des rapports en trois couches : les données, la page et les groupes. Cela permet de maîtriser les différents regroupements et aspects d'un rapport, pour produire rapidement un fichier HTML sans reinventer la roue à chaque fois. Sans être une révolution, cette petite bibliothèque peut se révéler utile à bien des moments.
- Using PHPReports Generator for Database Reports (0 visite)
- PHP Report (0 visite)
- PHP Report samples (0 visite)
Est-il mauvais de stocker des fichiers dans MySQL ? Il n’y a pas de bonne ou mauvaise réponse à cette question. Tout dépend de vos besoins. Personnellement, je préfère stocker les fichiers à l’extérieur de la base de données pour les raisons suivantes:
- Le filesystem va mieux cacher les fichiers
- Le serveur MySQL va avoir plus de facilité à cacher les autres données
- Le débit de donnée du serveur va être moins élevé
- Il est plus facile de réorganiser et maintenir les fichiers
- Le tablespace demeure petit (si vous devez utiliser InnoDB)
Une bonne approche est de stocker un pointeur vers les fichiers sur le filesystem plutôt que le binaire du fichier directement dans la BD. Il y a cependant des avantages à les stocker dans la base de données:
- Toutes les données sont centralisées à une place pour les backups
- C’est plus …
Voici les 5 dernières vidéos PHP et MySQL.
-
- Installer MAMP (0 visite)
- Symfony 1.1 Fabien Potencier (0
visite)
- Php 5.3 And Php 6 A Look Ahead DPC 2008,
Amsterdam (0 visite)
- Web Browsers And Other Mistakes (0
visite)
- MySQL Tuning (0 visite)
- Import Excel to MySQL Database (0
visite)
Ces vidéos …
"Cette dépêche est la suite de ma session à JavaDeus 2008, où
j'ai montré comment utiliser Lucene à l'intérieur de MySQL, en
utilisant une branche expérimentale, quelques procédures stockées
et déclencheurs.
Comme le processus n'est pas entièrement évident, et que cette
branche est très expérimentale, j'ai pensé qu'il serait utile de
détailler tout cela en ligne. Il est vraiment surprenant de voir
comment peu de code (en Java, en tous cas) peut vous donner un
moteur de recherche en texte intégral complet et souple."
Où il est question de faire une procédure stockée en Java.
Beaucoup de compilation, et au final, l'utilisation directe de
Java en MySQL.
- Calling Java Code from MySQL (0 visite)
- Lucene (0 visite)
- …
J?ai fais beaucoup de tests pour m?assurer qu’une base de donnée en production sur MySQL 4 allait avoir le même comportement sur MySQL 5. Voici donc ma conclusion et les recommandations en conséquence.
La première différence que j?ai trouvé concerne les strings qu?on insère dans un champ char/varchar. Si on insère une string qui possède des espaces au début ou à la fin, MySQL4 les trim automatiquement. Ce n?est pas le cas de MySQL5. Il faut donc être spécialement attentif à ce qu?on insère et trimer tout les valeurs avant (c’est ce qu’il faudrait toujours faire de toute façon). Supposons qu?il se glisse accidentellement 2 espaces dans un champs, et qu?il y a 2 000 000 d?enregistrements dans la table. Il y aura donc 3.81 Mo de données et 3.81 Mo d?index (si le champs est indexé) pour stocker des espaces inutiles. Ça peut sembler trivial mais 3.81 Mo d?index, c?est énorme.
Une autre différence concerne …
[Lire plus]
Disposer dun MCD (modèle conceptuel de données) lorsquon
travaille sur une requête SQL impliquant différentes tables
représente un gain de temps.
Il est en effet plus rapide de jeter un coup doeil sur un MCD
afin de repérer quels sont les champs qui lient une table à une
autre plutôt que denchaîner les DESC ma_table, puis repérer la
clé primaire et les éventuelles clés étrangères, et rebolote sur
la ou les tables de destination
La prochaine série darticles sur les index MySQL va nous amener à
enchaîner quelques requêtes sur une des deux bases dexemple
disponibles sur le site de MySQL : world et sakila, le prétexte
est donc tout trouvé pour évoquer ici la solution que jai retenu
pour obtenir le MCD de ces tables : DBDesigner 4.
Cet outil nest pas nouveau, son successeur officiel est même déjà
connu, il sagit de MySQL Workbench. Celui-ci nétant pas encore
disponible sous linux, nous utiliserons son ancêtre …
Le client en ligne de commande MySQL dispose d'un système pour
appeler des scripts externes avant d'afficher les résultats. On
peut donc automatiser des mises en forme personnalisées, ou
simplement noter des informations tout en traitant des
données.
Le plus simple est encore le pager less, qui évite les
défilements infinis de données.
pager less SHOW innodb STATUS\G
Baron Schwartz montre aussi comment calculer la durée d'attente
d'un verrou ou bien comment l'utiliser avec Maatkit pour faire un
affichage en arbre. Très pratique, vraiment.
- Neat tricks for the MySQL command-line pager (0 visite)
- Maatkit home page (0 visite)
Disposer d’un MCD (modèle conceptuel de données) lorsqu’on
travaille sur une requête SQL impliquant différentes tables
représente un gain de temps.
Il est en effet plus rapide de jeter un coup d’oeil sur un MCD
afin de repérer quels sont les champs qui lient une table à une
autre plutôt que d’enchaîner les “DESC ma_table”, puis repérer la
clé primaire et les éventuelles clés étrangères, et rebolote sur
la ou les tables de destination…
La prochaine série d’articles sur les index MySQL va nous amener
à enchaîner quelques requêtes sur une des deux bases d’exemple
disponibles sur le site de MySQL : world et sakila,
le prétexte est donc tout trouvé pour évoquer ici la solution que
j’ai retenu pour obtenir le MCD de ces tables : DBDesigner 4.
Cet outil n’est pas nouveau, son successeur officiel est même déjà …
[Lire plus]
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.
8 alertes de sécurité ont été émises cette semaine, concernant
des applications suivantes :
Cache_Lite, Drupal, Gallery, Horde, Joomla, RoundCube Webmail,
ming et vBulletin
-
-
Mambo Include File Bug in Cache_Lite Class Lets Remote
Users E...
http://www.SecurityTracker.com/alerts/2008/Jun/1020295.html (0 visite)
Site : http://pear.php.net/package/Cache_Lite (0 …
« Précédent 10 Nouvelles entrées | Suivant 10 Entrées plus anciennes »