|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 35 ![]() |
Bonjour,
J'ai une table avec un grand nombre de lignes (plusieurs millions). Un traitement est effectué en fonction des valeurs de chaque lignes. Le traitement est un peu complexe et ne doit donc traiter qu'une seule fois une ligne. La table est remplie régulièrement par un applicatif et je cherche à ne récupérer que les nouvelles lignes rajoutées depuis la derniere récupération. Je n'ai bien sur pas la possiblité de modifier la structure de la table et des données qu'elle contient, ca serait trop facile .J'aimerai faire cela en SQL si possible mais je suis ouvert à toutes les possiblités (JDBC, ... ). Merci Falcon74 |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Sans modifier la table je vois mal comment tu pourrais faire... peut-être en partitionnant et encore
|
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 35 ![]() |
C'est bien ce que je pensais
J'esperai quand meme que des experts pourraient avoir une idée me sauvant la vie. Je sens que je vais pas m'amuser pour faire ma collecte
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
tu peux aussi tenter ta chance avec les materialized view. Tu crées une MV et pour trouver les dernières lignes tu fais :
Code :
Par contre, gare aux perfs |
||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 519 ![]() |
Si tu fais un traitement sur seulement les nouvelles lignes, c'est que ton traitement est historisé (Une colonne est remplie ou bien une ligne résultat est insérée dans une table fille, ...).
Donc, il doit bien y avoir une requête créant un "cursor for update" qui te permet soit d'avoir les lignes dont la colonne est nulle, soit les lignes n'ayant pas de correspondance dans la ou les tables filles. Non ? |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() |
Une autre solution serait de créer une table dans laquelle tu mettras les Primary keys des enregistrements déjà traités.
Il suffirait par la suite de faire un
__________________
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 35 ![]() |
Merci pour les différentes possibilités.
Mon client va devoir accepter un minimum d'intrusion dans la base de son applicatif si il veux que ca fonctionne. Ca va discuter sec
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com