Archives de catégorie : PHP / SQL

Moteur de stockage Falcon pour MySQL

Pour stocker vos tables, MySQL utilise ce qu’on appelle un « moteur de stockage ». C’est ce moteur qui est chargé de définir comment vos données vont être stockés sur le disque, en mémoire, et surtout comment MySQL va y accéder (en lecture, mise à jour ou suppression). Les plus connus sont MyISAM et InnoDB. Seul ce deuxième est « transactionnel », c’est à dire qu’il peut permettre d’effectuer une série de mises à jour sur la base en même temps, ou annuler dse modifications. Mais le but de mon billet n’est pas d’expliquer tout cela, mais d’aller bien plus loin et de vous dire comment Falcon fonctionne globalement.
Continuer la lecture de Moteur de stockage Falcon pour MySQL

Smarty : Petits défauts d’un moteur de template archi connu

Cela fait des années que j’utilise Smarty (j’y ai même participé à un moment avec le guru du programme, Messju). Je l’utilise dorénavant quasi quotidiennement dans tous les programmes professionnels que je réalise. Je pense pouvoir dire aujourd’hui que j’en connais (pratiquement) toutes les subtilités. Toutefois, Smarty n’est pas exempt de défauts. Voici pour moi les principaux.
Continuer la lecture de Smarty : Petits défauts d’un moteur de template archi connu

PHP enfin prêt pour l’applicatif

Lorsqu’on parle de PHP, on pense tout de suite « site internet ». Mais saviez-vous que PHP a également d’autres utilités ? On connaissait déjà la version « cli » qui permet d’executer un script en ligne de commande, avec un affichage optimisé pour (sans les entêtes HTTP entre autre, mais également sans le formatage HTML des messages d’erreurs). Et bien il est également possible de réaliser des applications avec interface graphique.
Continuer la lecture de PHP enfin prêt pour l’applicatif

Fonctionnalités MySQL en fonction de la version

Le mois de juin rime souvent avec examen ou « rapport ». Je suis personnellement dans le 2e cas. Pour la rédaction de celui-ci, j’ai été amené à comparer les différentes versions de MySQL existantes selon les fonctionnalités prises en charge. Le tableau de synthèse me semble interessant à imprimer ou conserver pour qui réalise souvent des projets sur ce SGBD. Je vous le met donc à disposition. Si vous notez des erreurs à l’interieur, n’hésitez pas à m’en faire part dans les commentaires !
Continuer la lecture de Fonctionnalités MySQL en fonction de la version

Astuce MySQL : nombre de lignes retournées sans clause LIMIT

Une petite astuce que je viens de découvrir concernant MySQL. Imaginez que vous avez une requete de type SELECT qui est sensé vous retourner des centaines de lignes. Pour afficher ca correctement à l’utilisateur, vous souhaitez limiter le nombre de résultats retournés à 50 par exemple. Vous allez donc faire quelque chose comme __SELECT * FROM matable WHERE (…) LIMIT 0,50__ Pour les pages suivantes, la requete sera la même avec un __LIMIT 50,50__ puis __LIMIT 100,50__ etc. Le soucis, c’est pour savoir le nombre de pages possible justement. EN clair, combien MySQL aurait retourné de lignes sans la clause LIMIT. Jusqu’à maintenant, il fallait faire deux fois la requete (ou instaurer un break quand on bouclait sur les résultats). Quelle perte de temps (et de bande passante entre votre serveur web et votre serveur SQL, si vous ne voulez afficher que 10 lignes alors que le résultat en retourne un million) ! Il existe une astuce dans MySQL pour éviter de devoir refaire deux fois la requete (et donc économiser de précieuses secondes quand vous utilisez des jointures, et/ou cherchez dans une table immense).
Continuer la lecture de Astuce MySQL : nombre de lignes retournées sans clause LIMIT

Un oracle « light » pour Linux (et gratuit)

Soulignons la volonté de Oracle de faire connaitre son produit phare de gestion de bases de données au plus grand nombre 😉 En effet, Oracle XE – c’est son nom- est une version très allégée du célèbre Oracle. Il s’execute en 32bits sur un seul processeur, est bien évidemment limité à une seule machine (pas de réplication), n’utilisera pas plus d’1Go de ram et ne gère qu’une base (j’ai bien dit base, pas table). Pour l’utiliser sous Ubuntu : sudo echo « deb http://oss.oracle.com/debian unstable main non-free » >> /etc/apt/sources.list sudo apt-get update sudo apt-get install oracle-xe Mon avis : Si l’idée peut être sympa histoire de réviser les TP si vous suivez des études en informatique, les autres passeront leur chemin. En effet, les points forts de Oracle (ceux qui faisaient que c’était le meilleur SGBD il y a quelques années) disparaissent chaque mois tant la concurrence avance : * Gestion de triggers (dommage, MySQL le fait depuis la v5) * Langage de script très puissant (MySQL le fait en version très simple, la suite ne va pas tarder) * Réplication sur plusieurs serveurs (MySQL -encore lui- le fait également, et de mieux en mieux – c’est pas encore parfait mais on y arrive -). Et encore, je ne parle pas de PostGRE qui est lui aussi un très bon SGBD (avec comme tous, ses qualités et ses défauts). En clair, le dernier tout petit avantage de Oracle est sa faculté à savoir manipuler de TRES grosses quantités de données (on compte en Téra octets) par rapport aux autres qui pédalent dans la semoule. Bref, limité aux très grosses boites, soit 0,1% du marché. Et on s’étonne encore que certains professionnels insistent pour avoir du Oracle … Plus qu’une histoire de compatibilité avec leurs applis 🙁