|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 76 ![]() |
Bonjour,
je suis plutôt novice en matière d'administration de base de données. J'ai fait un script java (J2EE) d'insertion de données dans une table qui peut contenir plus d'un million de lignes. Le fichier source à l'insertion peut contenir facilement 200k lignes. Les données sont caractérisées ainsi: pour chaque jour de l'année, pour une région donnée, j'ai une série de chiffres... Une année représente donc un certain nb de lignes: 365 jours * 468 régions. Les régions sont en fait un int4, la date du type AAAAMMJJ est un int4 aussi. Quel serait la solution la moins couteuse en ressources pour vérifier à chaque insertion que les données ne sont pas déjà présentes dans la base ? Un index sur le N° de région, un autre sur la date. Et je fait à chaque insertion je fait une requete "test" sur le couple (N° région, Date) ? |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
http://sqlpro.developpez.com/cours/doublons/
N'y a-t-il pas d'indexes unique ? Sinon, le forum PostgreSQL ne serait-il pas plus adapté ? |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Un seul index non cluster bicolonne dans le sens du test.
Exemple si la requête de recherche est : SELECT * FROM MaTable WHERE LaDate = ... AND LaRegion = ... Alors l'index doit être composé de Ladate, LaRégion. a +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 76 ![]() |
Désolé si je n'ai pas posté dans la bonne sous catégorie.
J'ai une cle auto incrémentable a partir d'une sequence. J'ai lu entre temps la page tuto sur les doublons. Donc je souhaite éviter les doublons relatifs. Si j'ai bien compris, un seul index sur le couple date/région. Je fait ma requête de recherche du même style. Et si je trouve une ligne je n'insère pas. Je vais me renseigner sur les index car je ne vois pas ce qu'est un index non cluster bicolonne... Edit: à priori c'est ok et plutôt simple ! Merci à vous deux. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com