Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [MYSQL] Riutilizzare id

    ciao!

    in una tabella ho il classico campo ID che è chiave primaria e auto increment.
    abbiamo fatto parecchia pulizia, anche su record collegati di altre tabelle, e volevo sapere se in qualche modo gli ID che non esistono più sono riutilizzabili.

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se hai un autoincrement non ti darà mai un numero già attribuito. Altrimenti puoi riutilizzare numeri già usciti ma a cosa servirebbe ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    ciao!

    si lo so che auto_increment non ritorna indietro.
    e giustamente in quanto ci sarebbe il rischio di assegnare id già usati.

    ma mettiamola cos'.
    ho tanti id che sono sicuro che non più usati da nessuna parte, e magari è uno "spreco" non usarli.
    quindi volevo capire se in qualche modo era possibile riusare quegli id.
    ad esempio, se in fase di inserimento il valore dell'id lo passo "a mano" forzandolo??

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ......... magari è uno "spreco" non usarli. ........
    ma temi forse di arrivare alla fine dei numeri ????
    purtroppo io temo che arriveremo prima alla fine della vita


    Comunque lasciando da parte la "filosofia" e tornando al problema in un caso simile io valuterei di fare
    - un nuovo DB identica strutture con ID autoincrement
    - con una procedura carichi dentro 1 per volta i record del vecchio DB
    -- partendo dalle tabelle madri e finendo con le figlie
    -- in ordine di ID
    avrai i tuoi problemi sulle tabelle figlie a calcolare la Key esterna che chiaramente cambia

    Sia chiaro una operazione simile la puoi fare "una Tantum" in caso di una pulizia straordinaria
    e comporta comunque i suoi rischi se non sei ben preparato........


    .

  5. #5
    ciao!

    no vabbè paura che finiscano in numeri no .

    più curiosità alla fine.
    piuttosto che fare quell'operazione sto bene così!
    grazie!

  6. #6
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ciao!

    quindi volevo capire se in qualche modo era possibile riusare quegli id.
    ad esempio, se in fase di inserimento il valore dell'id lo passo "a mano" forzandolo??
    Certo che si. L'importante e' che sia un valore libero. Ma lo scopo dell'id e' quello di identificare in modo univoco un record e senza riferimento ai valori contenuti (nel record), quindi non si spreca nulla. E' un numero e basta.

    Un ID INT autoincrement usa sempre 4 byte e quindi si tratta solo di avere degli 1 o 0 messi in qualche modo nei 4 byte del campo.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da piero.mac Visualizza il messaggio
    Certo che si. L'importante e' che sia un valore libero. Ma lo scopo dell'id e' quello di identificare in modo univoco un record e senza riferimento ai valori contenuti (nel record), quindi non si spreca nulla. E' un numero e basta.

    Un ID INT autoincrement usa sempre 4 byte e quindi si tratta solo di avere degli 1 o 0 messi in qualche modo nei 4 byte del campo.
    @fermat
    il valore massimo su 4 bytes va oltre 4.290.000.000 quindi se si inseriscono 10.000.000 di record ogni anno ci vorranno 429 anni prima di consumare tutti i numeri del campo auto-increment.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.