Sélectivité :
Grosse_Table.Identifiant1 = Enorme_Table.Identifiant1 AND Grosse_Table.Identifiant2 = Enorme_Table.Identifiant2
Grosse_Table.Identifiant1 : seulement 3 valeurs possibles, répartition 2/3 1/6 et 1/6
Enorme_Table.Identifiant1 : seulement 3 valeurs possibles, répartition 2/3 1/6 et 1/6
Grosse_Table.Identifiant2 : des millions de valeurs possibles, valeur presque unique
Enorme_Table.Identifiant2 : des millions de valeurs possibles, entre 1 et 30 lignes avec la même valeur.
Enorme_Table.Identifiant1 = Minuscule_Table.Identifiant1 and Enorme_Table.Identifiant6 = Minuscule_Table.Identifiant6
Enorme_Table.Identifiant1 : seulement 3 valeurs possibles, répartition 2/3 1/6 et 1/6
Minuscule_Table.Identifiant1 : seulement 3 valeurs possibles, répartition 2/3 1/6 et 1/6
Enorme_Table.Identifiant6 : environ 250 valeurs possibles, répartition équivalente entre les valeurs et entre 1 ligne et 30 lignes par valeur
Minuscule_Table.Identifiant6 : 250 lignes, avec presque 1 valeur différente pour chaque
Grosse_Table.Identifiant1 IN (130, 290)
seulement 3 valeurs possibles, répartition 2/3 1/6 et 1/6. Là on tape sur 2/3 + 1/6 des lignes.
Grosse_Table.debut_date >= :0
environ 30000 lignes par date, soit 1/365e des données.
Grosse_Table.debut_date <= :1
environ 30000 lignes par date, soit 1/365e des données.
Grosse_Table.fin_date >= :0
environ 30000 lignes par date, soit 1/365e des données.
Grosse_Table.fin_date <= :1
environ 30000 lignes par date, soit 1/365e des données.
Enorme_Table.action_date >= :0
environ 30000 lignes par date, soit 1/365e des données.
Enorme_Table.action_date <= :1
environ 30000 lignes par date, soit 1/365e des données.
seulement 2 valeurs (0 ou 1), 5 à 10% des données à 1, les autres à 0
Grosse_Table.livrée = 'EC'
seulement 2 valeurs (EC ou LIV), 5 à 10% des données à EC, les autres à LIV
Grosse_Table.Identifiant5 IS NULL
250 valeurs possibles, 90% des données à NULL (puisque le but c'est de les alimenter), valeurs équiprobables sinon.
Grosse_Table.Identifiant4 IS NULL
3 valeurs possibles, 90% des données à NULL (puisque le but c'est de les alimenter), répartition 70% / 20% / 10% sur les non null.
Minuscule_Table.Identifiant7 = 'C'
3 valeurs possibles, répartition 70% / 20% / 10%
Pour les contraintes je regarde. Merci.
Partager