|
| Anbefaling ved db konvertering Fra : Flare |
Dato : 04-10-04 16:31 |
|
Hejsa.
Jeg vil lige hører jeres anbefaling. Jeg er i gang med mit første store (ca
40 tabeller) DB projekt og første fase går ud på at få konverteret en
Interbase 6.5 DB til MSSQL 2000 server.
Der skal skal ret store ændringer til mange steder (fx relateret til min
forige post "Problem and. databse design") hvor der er brugt meget uheldige
løsninger....mildest talt.
Men min spørgsmål går på:
I den nuværende database er der brugt double precision til ID (PK) feltet og
værdierne er i størrelsesordenen 1025012113610 ,000
For det første. Kan i komme på nogen grund til at gøre dette? Hvad laver
double som ID? Hvorfor er ID så enorme. Er der belvet brugt en "global
counter" mon? Jeg har ikke adgang til den applikation der har oprettet data.
Når jeg nu skal til at konverterer disse data bør jeg så beholde de
nuværende ID (dog konverteret til bigint) eller bør jeg lade MSSQL lave nye
autogenerede ID´er? Der bliver jo lidt et helved at holde styr på med en
masse midlertidige tabeller. Det kompliceres af at jeg bliver nød til at
lave et script (eller flere) der kan gøre det i et skud. Da applikationen
fra dag til dag skal flyttes til den nye database så migreringen skal kunne
fortages hurtigt og automatiseret.
Nogen der har erfaringer med en sådan konvertering mht. bibeholdelses af ID
felter?
Takker på forhånd
Anders
| |
Troels Arvin (04-10-2004)
| Kommentar Fra : Troels Arvin |
Dato : 04-10-04 19:10 |
|
On Mon, 04 Oct 2004 17:30:31 +0200, Flare wrote:
> I den nuværende database er der brugt double precision til ID (PK) feltet og
> værdierne er i størrelsesordenen 1025012113610 ,000
Det kan forekomme sært, men er det virkelig et performance-problem? (Jeg
går ud fra, at din skepsis går på performance).
> Når jeg nu skal til at konverterer disse data bør jeg så beholde de
> nuværende ID (dog konverteret til bigint) eller bør jeg lade MSSQL lave nye
> autogenerede ID´er?
Jeg ville beholde IDerne. Det er jo ikke utænkeligt, at de har betydning.
Faktisk vil jeg sige, at jeg _håber_ de har betydning - ellers fylder de
jo blot op.
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
Flare (04-10-2004)
| Kommentar Fra : Flare |
Dato : 04-10-04 19:30 |
|
> Jeg ville beholde IDerne. Det er jo ikke utænkeligt, at de har betydning.
> Faktisk vil jeg sige, at jeg _håber_ de har betydning - ellers fylder de
> jo blot op.
Altså jeg vil skyde på at hele databasen har 200.000 rækker i alt hvilket
jo ikke er så meget. Så de id´er på flere milliarder forkommer mig mysiske
og udnødvendige. Det er ikke så meget er performance problem,(selvom
indexere vel må være en msule langsomere i disse størrelser?) men mere et
spørgsmål om "pæne data"
Mvh
Anders
| |
Troels Arvin (04-10-2004)
| Kommentar Fra : Troels Arvin |
Dato : 04-10-04 19:54 |
|
On Mon, 04 Oct 2004 20:29:34 +0200, Flare wrote:
> Så de id´er på flere milliarder forkommer mig mysiske
> og udnødvendige.
Det kan være, at applikationen har villet skabe IDer i et så stort
antal mulige værdier, at det ikke er sådan lige at skyde sig ind på et
eksisterende ID (en slags "sikkerheds"-foranstaltning). Hvem ved.
> Det er ikke så meget er performance problem,(selvom
> indexere vel må være en msule langsomere i disse størrelser?) men mere et
> spørgsmål om "pæne data"
Jeg ville ikke røre ved noget så vigtigt som en primærnøglen, med
mindre jeg var 110% sikker på implikationerne (dvs. havde et klart "OK"
fra applikationens supportfolk/udviklere).
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
|
|