|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : février 2006 Messages : 139 ![]() |
Bonjour,
pouvez-vous m'expliquer ce que représente concrètement la phase de fetch dans une instruction Oracle(lecture des blocs...). De cette réponse en decoulera sûrement: pourquoi pour un même ordre sql exécuté plusieurs fois, seule le fetch est executée(et pas execute)? Merci par avance |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Inscription : mai 2002 Messages : 535 ![]() |
Bonsoir,
Vous aurez une réponse à votre question en réalisant une recherche sur les Curseurs ORACLE Allez regarder aussi les excellents tuto de SheikYerbouti Qui traite de ce sujet Voir F.A.Q Oracle Tutoriels Oracle
__________________
Signé : Capitaine Jean-Luc Picard |
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() Inscription : février 2006 Messages : 139 ![]() |
Bonjour,
Avant de poster, j'avais essayer effectivement de trouver la reponse. J'avais vu cet article cependant je ne comprends toujours pas(faut dire je suis pas un cheval de course Citation:
Merci |
|
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() ![]() Inscription : décembre 2003 Messages : 480 ![]() |
parce que toutes les rows ne sont pas forcément ramenées en une fois
ce qui permet parexemple d'appliquer différent traitement selon les valeurs rencontrées en parcourant le curseur
__________________
*** OPN Exadata Specialist *** *** OCE Performance Tuning 11g *** *** OCE Rac 10g *** *** OCP DBA 9i-10g-11g *** |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : février 2006 Messages : 139 ![]() |
Tout d'abord merci pour vos réponses.
Je suis un peu lourd mais c'est toujours pas bien clair. Pouvez vous préciser comment toutes les rows ne peuvent pas etre ramenées en 1 seul fetch? Je crois qu'il va me falloir un dessin Merci par avance |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : septembre 2007 Messages : 7 ![]() |
le fecth est une opération séquentielle ou le client demande un certain nombres de lignes à lui retourner.
fétcher cela consiste donc à récupérer, mais on ne désire pas récupérer un million de ligne en une fois par exemple de manière à ne pas avoir un tampon mémoire énorme nécessaire. C'est pourquoi on fixe une taille de tampon ou arraysize ou fetchsize . Tu as donc nbr fetch * arraysize = nbr de ligne retournée. ce paramètre arraysize est important car il détermine également le nombre de bloc lus par oracle. ex : imaginons que ta taille de bloc oracle soit de 8k et que les enregistrements que tu veux ramener pèse 100 octects. si tu veux raméner tout le contenu de ce bloc soit 80 lignes et que ton arraysize soit de 1 tu feras donc 80 fetchs. Mais tu devras lire également 80 fois ce bloc oracle. J'espère que cette explication t'aide. |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : février 2006 Messages : 139 ![]() |
Impec
c'est très clair maintenant. Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com