Merci Mnitu pour le lien, très intéressant en effet, et recommander sa lecture est une bonne chose, même si c'est quand même un joli pavé.
1) Maintenant, voyons voir ce que ce document dit :
A....
Type: Messages; Utilisateur: pacmann
Merci Mnitu pour le lien, très intéressant en effet, et recommander sa lecture est une bonne chose, même si c'est quand même un joli pavé.
1) Maintenant, voyons voir ce que ce document dit :
A....
Vous jouez sur le fait que tout DML "est" (utilise) un curseur, et en cela vous avez évidemment raison.
J'ai interprété la question postée comme "dois je explicitement ouvrir mes curseurs, fetch...
Je ne vois pas pourquoi...
Bulk, ça veut juste dire "en masse".
Utiliser le mot "bulk" à la place de "array" est au pire maladroit par rapport aux habitudes, mais je pense pas que cela soit pour...
Oui tu as raison Mnitu sur le forall, il est parfaitement possible d'alimenter à la main sa collection.
Sur le curseur implicite, je sais bien que ça remplit pas automatiquement une collection,...
Salut,
Le curseur explicite permet de faire bulk collect, puis for all.
S'il n'y a pas de mise à jour d'insertions directes à faire, le curseur implicite fait un bulk fetch automatique (je crois...
Salut,
@Waldar, j'aurais plutôt dit trunc(t1.PK-CH5, 'MM')
@Pachot, il y a aussi dense_rank() over(partition BY PK-CH2,PK-CH3,PK-CH4,PK-CH5,PK-CH6,PK-CH7 order by PK-CH1 desc) rk + filtre sur...
Oracle, pour calculer combien de lignes il retourne, fait très basiquement : nombre de lignes au total / nombre de valeurs distinctes sur la colonne, ce qui signifie en gros que chaque valeur de la...
Salut,
Pom', tu peux étendre ton raisonnement aux indexes multi-colonnes, qui ne stockent que les entrées dont au moins une des colonnes est non nulle ;)
A) Concernant la méthode :
1) Exécute ta requête en ajoutant le hint /*+GATHER_PLAN_STATISTICS */
2) Exécute : SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR(FORMAT=>'ALLSTATS LAST'));
3) Le...
Un histogramme serait probablement le bienvenu sur cette colonne del_code.
Et nous envoyer le résultat décrit de la méthode décrite dans mon lien, c'est possible ?
(Ca permettrait de confirmer...
Salut,
On ne voit pas bien les cardinalités estimées dans ton plan...
Peux tu sortir la différence entre cardinalités estimées et réelles comme montré ici ?...
Sisi, c'est bien une colonne cachée qui est créée pour la FBI :)
Du coup j'ai posté une petite illustration sur mon blog pour immortaliser ton intervention :...
Salut,
Le dynamic sampling peut être une bonne idée. Mais dans ton cas, il faudrait sampler systématiquement (donc par exemple supprimer les stats de ta table).
Mais vu ce que tu lui fais...
Salut,
Pour compléter la réponse d'al1 :
- Dans sa solution, je propose UNION ALL qui économise un dédoublonnage inutile (vu qu'il n'est pas censé y avoir de doublons)
- Tu peux plutôt...
Tu peux aussi omettre les count, faire les extractions complètes, puis faire le split en script shell par exemple...
Salut,
Comment est construite ta chaîne ? Y a-t-il toujours un unique caractère alpha en première position ? Le nombre qui suit peut dépasser les 1000 ?
Quoi qu'il en soit, tu peux bricoler...
Ah excuse moi, j'ai lu qu'à moitié :aie:
Tu ne peux pas avoir cette information, parce que ces lignes sont potentiellement mélangées avec d'autres dans les blocs de données.
Le mieux, c'est de...
Salut,
Regarde dans dba_segments :
select bytes / 1024 / 1024 "taille en meg"
from dba_segments
where segment_name = 'TA_TABLE'
+1 à Waldar sur la borne inf.
Et donc, j'ai remplacé le between parce que la borne sup est inclusive dans le between, alors qu'en enlevant le trunc, il faut qu'elle soit exclusive pour que ce soit...
La plupart du temps ?
Bref, sur les tables où il y a des indexes, est-ce qu'ils sont bien utilisés ?
(A vérifier avec un explain plan ou trace)
Sinon de manière générale il est préférable de...
Salut,
Il y a un index sur date_t ?
Oui c'est peut être postgres, mais c'est en soi une bonne chose : tant les colonnes que les "vues" (ou "tables dérivées") devraient toujours être nommées dans l'absolu. Typiquement, si tu refaisais...
Salut,
Dans la table A, la colonne s'appelle t_produit_id. Tu as bien écrit a.t_produit_id dans la requête, et non a.produit_id ?
Salut,
Tu peux prendre le max(quantite) par exemple (min marcherait aussi, le but étant d'agréger par produit pour n'en avoir qu'un).
Quant à l'erreur que tu obtiens, il faut débugger la...
Salut,
Le résultat d'une requête peut toujours être réutilisé comme si c'était une vue ou une table :
SELECT c, sum(n)
FROM (
SELECT code1 c,un_chiffre n FROM TABLE 1
union
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.