Nombre de résultats d'une recherche SphinxSe

Sphinx est un moteur de recherche full-text

On peut l'interroger au travers de son api, SphinxQL, en ligne de commande ou avec l'engine MySql SphinxSE

J'utilise MySqlSE;

SELECT * from INFORMATION_SCHEMA.ENGINES;

ENGINE SUPPORT COMMENT                     TRANSACTIONS  XA      SAVEPOINTS
------ ------- --------------------------- ------------  ------  ----------
...
SPHINX YES     Sphinx storage engine 0.9.9 NO            NO      NO        

La question du jour était : Y a-t-il un moyen de connaître le nombre total de résultats quand on utilise un limit ?

En Mysql simple, il y a SQL_CALC_FOUND_ROWS

mysql> SELECT SQL_CALC_FOUND_ROWS * 
    -> FROM tbl_name
    -> WHERE id > …
[Lire plus]
MySQL Cluster: Meilleures pratiques de déploiement (31 Aug 2010)

Webinar dédié pour ceux qui ont ou vont déployer MySQL Cluster. Cette session présente les meilleures pratiques de déploiement de MySQL Cluster en vue d'accélérer le délai de mise en service, et ce avec les niveaux de disponibilité et de performance les plus élevés, pour prendre en charge vos applications Web et télécoms les plus critiques.

Au cours de cette session, vous découvrirez:

  • L'identification des applications adaptées pour MySQL Cluster
  • La comparaison des différences de fonctionnalité et de configuration avec InnoDB
  • L'utilisation de déclencheurs e de procédures stockées pour mettre en œuvre la fonctionnalité de clé étrangère
  • Le choix du matériel, du réseau et du système de fichiers
  • Le dimensionnement et la planification des capacités
  • Les meilleures pratiques de configuration
  • Le déploiement des données sur disque …
[Lire plus]
Gauffr : Identification unique

Gauffr est une application réalisée en PHP/MySQL/eZ components et va vous permettre de proposer une solution d'authenfication unique sous la forme d'une couche abstraction.
A partir de Gauffr, vous pourrez vous connecter avec les mêmes identifiants à DotClear, eZ Publish, MediaWiki... grâce à la présence d'une gestion de plug-ins et vous permettra d'ajouter d'autres projets PHP.
La prise en main se fait facilement grâce à une documentation complète. Aussi, vous pourrez suivre les connections avec la présence des LOGs.

Actualité de développement PECL, edition 280

8 paquets ont été mis à jour cette semaine :
Semaine du 17 Aout 2010


Semaine du 24 Aout 2010

[Lire plus]
TokuDB v4.1

Après quelques mois de développement, la nouvelle monture de TokuDB vient de sortir. Ce projet est un moteur de stockage MySQL et améliore les performances pour les bases de données volumineuses, en accélérant l'indexation par fois 10 à fois 50.
Cette nouvelle version apporte par ailleurs de nombreuses autres évolutions, comme :

  • Une interface simplifiée
  • Conforme aux Transactions ACID
  • Elimine les goulots d'étranglements
  • Simplification de la configuration MySQL
  • Rapidité
  • etc


Bien sur, de nombreuses ressources ont été mis à jour comme le livre blanc

tine 2.0, une plateforme collaborative

La nouvelle version de Tine vient de sortir, réalisée en PHP 5.2.x et MySQL 5, sous licence Open source.
Son but consiste de proposer une plateforme collaborative associé à un CRM. Il va vous permettre de regrouper et de rassembler les informations importantes dans un même espace, au sein de votre entreprise.
Cette solution regroupe :

  • Un carnet d'adresses
  • Un gestionnaire de taches
  • Un suivi de dossier sous la forme de CRM
  • Exportation en PDF
  • Une consultation pour support mobile
  • La gestion Administrative de la VOIP
  • etc


L'installation et la configuration ont été simplifiées au maximum pour permettre une meilleure utilisation de cet outil.

[Lire plus]
Generate Data

Generate Data est une application PHP qui va vous permettre de générer des données de tests pour une base de données MySQL.
Le principe de celui-ci, est destiné aux développeurs webs car lorsqu'un site internet est en cours de réalisation, vous devez effectuer des tests de saisie avec différentes données.
Vous avez alors plusieurs solutions possibles :

  • Utiliser un Framework qui offre cette option
  • Effectuer vous même la saisie de donnée bidons
  • Utiliser Generate Data qui fera le travail pour vous


Cette application propose de vous fournir des données à partir de son application ou de son site web dans différents formats : Html, Excel, XML, CSV, SQL

Les caches de données

Voici quelques semaines, Google a annoncé que la vitesse de chargement d'un site web sera un des critères pris en compte pour le référencement d'un projet Web. Cependant, même si cela n'est pas réellement prouvé, il est important de proposer un site web qui s'affiche rapidement.
Le site Webrankinfo a publié un article sur les principaux systèmes de gestion du cache de données et de son utilisation. Celui-ci peut se placer à différents endroits comme au niveau de MySQL, de PHP et aussi du coté du serveur web.
L'article se décompose de la façon suivante :
Définition de la notion de cache en informatique

  • Fonctionnement d'un cache
  • Les différents mécanismes de cache
  • Benchmark
  • Conclusion
  • PS : les buffers


Bien sur, il existe différents outils, qui vous sont proposés avec un tableau comparatif des performances obtenues …

[Lire plus]
Guide de démarrage avec les bases de données

Un petit Guide vient d'être publier sur le blog de mathgladiator qui va vous permettre de bien construire votre base de donnée lorsque vous démarrez avec une start-up.
Ce guide présente une façon originale dont vous devez utilisez à la fois une solution existante et des bases de données NoSQL .

Recherche sur un champs indexé, qui n'utilise pas l'index

Petite anti-astuce :Utiliser des fonctions dans les conditions sur un champs indexé, annule l'utilisation de l'index

mysql> EXPLAIN SELECT * FROM film WHERE title LIKE 'Tr%'\\G 
*************************** 1. row *************************** 
id: 1 
select_type: SIMPLE 
table: film 
type: range 
possible_keys: idx_title 
key: idx_title 
key_len: 767 
ref: NULL 
rows: 15 
Extra: Using where

Une stratégie d'accès rapide à un range est choisi par l'optimiseur, et l'index sur le titre est utilisé pour réduire la quantité d'enregistrements à examiner (ici 15)

mysql> EXPLAIN SELECT * FROM film WHERE LEFT(title,2) = 'Tr' \\G 
*************************** 1. row *************************** 
id: 1 
select_type: SIMPLE 
table: film type: ALL 
possible_keys: NULL 
key: NULL 
key_len: NULL 
ref: NULL 
rows: 951 
Extra: Using where

Une analyse complète des enregistrement, donc lente, (c'est la stratégie d'accès ALL) est …

[Lire plus]