Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    ho un db access 2003 con milioni di record, l'unica accortezza sta nel indicizzare i campi che posso essere richiesti come identificativi (oltre al'id auto incrementale, ovviamente). non da alcun problema.

    si indici ok!

    perfetto grazie per i suggerimenti.
    mi metto al lavoro e vediamo che esce fuori!

  2. #12
    ricordati di memorizzare anche l'evento/serie e di inserire un richiamo a esso dentro ogni evento singolo

  3. #13
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,302
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ...... oppure ci sono anche altri modi? ....... ma vorrei essere sicuro sulla strada da prendere!
    Io su un problema molto simile (praticamente identico) ho fatto cosi:

    - Una tabella (T1) dove tieni tutti gli eventi da gestire con Un campo "Periodictrà" in cui definisci se giornaliero, settimanale mensile annuale ecc ...
    Attento se hai 10 eventi allora in questa tabella avrai solo 10 record senza data ma solo con la Periodicita

    - Una tabella T2 popolata con una Stored Routine o come la vuoi chiamare
    Nella T2 ci sono i tuoi milioni di eventi con data di esecuzione

    - La Stored fa queste cose:
    --- Scorre i record della T1
    --- per ogni record di T1 ne trova il corrispettivo nella T2 con la massima data
    --- se la massima data è inferiore a "GETDATE()" significa che l'evento è gia avvenuto
    ------ quindi
    ------ genera un nuovo record nella T2 mettendo la data uguale a "Max(DataDiT2) + Periodicita"


    Alla fine nella T2 hai tutti gli eventi con 1 successivo per ogni evento


    .
    Ultima modifica di nman; 17-11-2019 a 15:56

  4. #14
    ciao!

    grazie @nman, non avevo visto la tua risposta.

    c'è solo una cosa che sulla quale ho un dubbio.
    la cancellazione o modifica massiva.

    supponiamo di aver duplicato i recors impostandolo una volta l'anno.
    decido di cancellare quell'evento.
    devo tenere traccia di tutti i records collegati a quello originale (i duplicati in sostanza).
    non mi conviene tenere un campo aggiunto con un codice che sarà uguale per tutti gli eventi duplicati?

    così in caso di cancellazione massiva potrei fare un banale:
    codice:
    DELETE FROM eventi WHERE codice_evento_collegati = 'XYZ'
    che ne pensate?

  5. #15
    E' quello che ti ho consigliato sin da subito. Creati una tabella dove registri la "matrice" della serie. Quando crei l'evento, registra anche l'id della matrice nell'evento. Quando cancelli la matrice, a cascata elimini tutti gli eventi con quella matriceId

  6. #16
    il mio dubbio era, se in un'altra tabella come dici tu.
    o in un campo apposito.

  7. #17
    Tutt'e due come ti ho detto

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 © 2019 vBulletin Solutions, Inc. All rights reserved.