En fait j'aimerai bien discuter avec Tom pour lui soumettre quelques idées... dommage que mon anglais soit pas uffisant
Il dit :
Sauf que là il ne tient pas du tout compte de l'endroit où sont les blocs de données dans les datafiles (puisqu'on parle de tablespace mais en fait, c'est bien les datafiles qui sont important), des requêtes qui ne tapent que dans les indexes et de celles qui ne tapent que dans les datas... Donc ma conclusion est la suivante, dans l'absolu il a probablement raison mais dans des applications avec énormément d'accés concurrent ça peut faire la différence et je l'ai vu de mes propres yeux à mes débuts ou le DBA avait fait de telles séparations de datafile dans Oracle Application avec plus de 120 users simultanés et ça a considérablement réduit les temps d'attente sur les I/OThink about HOW indexes are actually used and then put that against the
statement "since they have a great deal of concurrent I/O during both data
manipulation and queries.". Now, does that statement make sense? Is there
concurrent IO to index and table data during DML/select? Rhetorical question --
no, the IO is in fact serial in nature. Read the index to find the table data.
Index then data, one after the other. Serial....
La deuxiéme conclusion, c'est que de toute manière le contexte est pour 80% dans le choix d'une architecture de la base de données et que tout les articles du monde ne vaudront pas une mise en pratique avec une comparaison objective des résultats dans un contexte déterminé.
J'avais d'ailleurs déjà fait le même type de démonstration avec les tables partitionnées où on me disait que ça n'améliore pas les perfs, sauf que quand la table est partitionné l'accés aux blocs des données est plus fin et du coup les accés concurrents sont bcp mieux gérer... encore une fois, c'est un constat que j'avais fait et j'avais posté un topic à ce sujet
Partager