Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [VB6] Query db access

  1. #1
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151

    [VB6] Query db access

    Ciao a tutti, mi stavo chiedendo se è più veloce un'istruzione sql: SELECT o DELETE..
    mi spiego meglio, ho un'archivo dove,tra le altre tabelle, ho una tabella PRATICHE con dei record fleggati come chiusi (pratiche chiuse), ora vorrei trasportare le pratiche chiuse in un'altro archivio e sono nel dubbio sul procedimento da adottare

    1) faccio una copia dell'archivio originale e cancello i record aperti sull'archivo di copia poi cancello i record chiusi nell'archivio originale

    2) creo un database access e dall'archivio originale trasporto i record chiusi nell'archivo di copia (SELECT * INTO PRATICHE IN 'PRATICHEBCK.MDB' FROM PRATICHE WHERE....), poi cancello, sempre dall'archivo originale, i record chiusi (appena trasportati)

    In pratica nella seconda opzione uso una SELECT invece di DELETE, considerando che ci sono altre tabelle (collegate alla tabella pratiche) che devo trasportare, in base ai passaggi che devo fare, c'è qualcuno che sa se è più veloce un'istruzione SELECT O DELETE?
    Grazie.
    Jupy

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Sono due istruzioni completamente diverse, la SELECT estrae un
    recordset, la DELETE lo cancella. Non puoi paragonarle. Se hai dei
    vincoli di integrità referenziale nel DB, allora non puoi cancellare
    i records se non rispettando le regole che tu stesso (o chi ha
    disegnato il DB) hai impostato.

    Ciao,
    Ciao, Brainjar

  3. #3
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, so benissimo che sono due istruzioni diverse!
    forse non mi sono spiegato bene, ad esempio, tra queste due query:
    codice:
    1) strSql = "SELECT * INTO PRATICHE IN 'C:\TEMPO.MDB' FROM PRATICHE AS P WHERE P.ID IN (......);"
    
    2) strSql = "DELETE FROM PRATICHE AS P WHERE P.ID NOT IN (......);"
    in pratica io devo esportare dei record, e mi chiedevo se era più veloce la prima query, o fare una copia dell'archivio originale (chiamandola ad esempio TEMPO.MDB) e dall'archivio TEMPO.MDB eseguire la seconda query?
    Visto che alla fine si raggiunge lo stesso risultato, e premesso che sia i record da esportare(prima query) che quelli da cancellare(seconda query) numericamente sono uguali, avevo un dubbio sulla velocita di esecuzione di una o dell'altra.. ma facendo delle prove, mi è risultata più veloce la prima..
    Jupy

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.