a quel point mysql 5 est sable, et est ce que on peut l'utiliser en production ?
a quel point mysql 5 est sable, et est ce que on peut l'utiliser en production ?
La version 5 est toujours en phase Beta.
Si tu mets en prod une appli l'utilisant, n'espère pas un quelconque support de MySQL. C'est à tes risques et périls
je que veux de la version 5 c les views:
j'ai un formulaire de recherche que je peux le decouper en 4 sous formulaire et ma question est la suivante:
est ce que c mieux (rapidité) de faire une seule requete sur la table mere (12 millions de lignes)
ou bien:
ds le premier sous formulaire je genere une vue V1 et le deuxieme sous formulaire s'applique sur cette vue (V1) pour generer une deuxieme vue V2 que le troisieme sous formulaire l'utilise pour generer une troisieme vue V3 et enfin le dernier sous formulaire interoge V3 pour avoir les resultats .
Le problème des vues est (je crois) qu'elles sont tenues à jour de façon dynamique et donc en temps réel.
Ce que tu penses gagner avec l'interrogation des vues risque d'être largement perdu par le temps mis à les maintenir à jour
D'autant que à chaque mise à jour de ta table, les vues seront aussi mises à jour, que tu en aies besoin ou pas.. 12 millions de lignes, ça suggère un fort taux de mise à jour qui aura des répercussions lors de la mise à jour des vues.
sur ma table je ne fais des maj qu'une seule fois par six mois, donc les maj ne me posent pas de pbm.
dans interbase les vues sont crees d'une facon statique cad il garde la trace de la vue et j'aimerai trouver une facon de configurer mysql pour qu'il garde les traces des vues.
non on utilise pas une version beta en production.
2eme chose, les vues ne sont en aucun cas une structure physique, c'est une entité logique et non physique, elle n'est donc pas mise à jour lors d'insertion de données dans les tables!!!!
Pour t'en rendre compte, fais un explain sur un select sur ta vue et tu verras qu'il utilise la table et les index de la table!
Les seules vues qui sont mises à jour lors d'insertions dans les tables et qui ont une structure physique sont les vues matérialisées ou snapshots (concept non disponible en Mysql).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 mysql> explain select * from v1_t1; +----+-------------+-------+------+---------------+------+---------+------+----- -+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+------+---------------+------+---------+------+----- -+-------+ | 1 | PRIMARY | t1 | ALL | NULL | NULL | NULL | NULL | 4 | | +----+-------------+-------+------+---------------+------+---------+------+----- -+-------+ 1 row in set (0.00 sec)
[/b]
oui, mais moi j'en ai pas des maj sur ma table et ce que je veux des vues c d'accelerer la recherche
cad : au lieu de faire une seule requete sur la table principale (12 million de lignes) je la decompose en 4 sous requetes en utilisant les vues sur 4 etapes
Gagner en performances en ajoutant des vues ???
Je doute que tu puisse voir la différence.
Maintenant, si tes tables ne bougent pas souvent tu peux faire des scripts de chargement pour précalculer les résultats et les stocker dans d'autres tables.
Ensuite, tu t'arranges pour que ton applications attaque au maximum ces nouvelles tables.
En faisant ça,tu devrais gagner en performance même avec 12 millions de lignes.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager