|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 310 ![]() |
bonjour,
j'ai une petite question Oracle ou SQL... J'ai une table OPERATION OPE_ID ##### OPE_DATE ##### OPE_PRECEDENTE 1 ######## 29/10/10 ######## NULL 2 ######## 29/10/10 ######## NULL 3 ######## 29/10/10 ######## 2 4 ######## 29/10/10 ######## 1 5 ######## 29/10/10 ######## 4 OPE_ID : clé primaire OPE_PRECEDENTE : foreign key sur la clé primaire OPE_ID J'ai une requête qui a 38000 enregistrements à supprimer de cette table OPERATION. Code :
Le temps d'exécution est de 3min. Nous avons réactivé cette contrainte et réimporter les données de la base et le temps d'exécution est > 6 heures. Cette colonne OPE_PRECEDENTE peut avoir des valeurs null. Il y a un index sur cette colonne. J'aurai voulu savoir s'il est possible que cette contrainte puisse faire ralentir les perfs ? A chaque delete, Oracle que fait-il ? il contrôle les foreign key ? Autre chose, après le re-import de la base, doit-on recalculer les statistiques oracle ? En espérant avoir été clair Merci d'avance. |
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Oui, à chaque DELETE Oracle va vérifier l'intégrité référentielle, impacter les index et ça prend du temps.
Supprimer les index et désactiver les contraintes avant de faire la suppression est une pratique courante. Pour les statistiques ça dépend. Si vous supprimez 38.000 lignes d'une table de 50.000 lignes ou de plusieurs millions. Dans le premier cas il faut recalculer, dans le second c'est à priori pas nécessaire.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : juillet 2007 Messages : 310 ![]() |
finalement, il n'y avait pas d'index sur cette colonne (pas en prod) uniquement en dev.
Dans l'environnement isoprod, il n'y avait pas d'index. On l'a rajouté, on passe de 6h à 3min Lorsque nous avions supprimé la contrainte, il n'y avait pas de souci mais en la réactivant, il faisait un full scan Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com