Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483

    Eliminare Record Doppi a Richiesta

    ciao
    sto realizzando una paginetta che mi permette di visualizzare a video i record del database che sono doppi e poi a scelta l'utente può decidere di eliminarli scegliendo il doppione tramite checkbox

    il mio problema è che ho un Db gigante da 110000 record ed effettuare un doppio loop su esso mi fa andare in timeout la pagina. esiste un modo + veloce??

    grazie a tutti

    P.s. se volete posto anche un po di codice



    Ops dimenticavo il db è MySQL

  2. #2
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483
    uppettino

  3. #3
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483
    riuppete

  4. #4
    mi viene in mente una soluzione di questo tipo

    fai la select ordinandola per il campo su cui vuoi fare questo controllo
    li selezioni tutti e fai un loop
    crei una variabile che ad ogni record prende il valore del campo stesso del record e quando il loop passa alla riga successiva controlli se questa variabile è uguale al nuovo valore del campo.
    se è uguale significa che è un doppione per cui puoi mettere un if in cui dici che se la variabile è uguale stampi a video il suo valore e metti il checkbox, se invece è diversa non stampi a video niente
    una volta fatto il controllo associ il nuovo valore alla variabile e ripeti il controllo
    Mr. Fepreto Nirra
    (I've been the wild rover for many of years - Spent all my money on whiskey and beer)
    E' PROPRIO UN BEL LOCALINO, BOB!
    ... ma non è il bicchiere giusto ...

  5. #5
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483
    innanzi tutto grazie per aver risposto

    poi specifico meglio la mia richiesta:
    i campi per la quale si considera un record uguale all'altro (cioè quelli di controllo) sono 4
    attualmente faccio in questo modo:

    Select * from tabella where categoria= (n°di categoria scelta dalla select)

    questa è la prima query
    da qui faccio un loop do while not rst.eof

    dove all'interno leggo prima i 4 valori di controllo e poi faccio un altra query del tipo

    Select * from tabella where categoria= categoria AND valore1=valore1 AND valore2=valore2 AND valore3=valore3 AND valore4=valore4

    a questo punto se la query risulta nulla non stampa a video nulla se invece non è eof allora mi fa vedere a video i record tabellati con a destra un checkbox con valore id, selezionando e cliccando poi sopra il tasto cancella cancello in un botto solo.....

    il mio problema non è tanto la fine ma il loop che va in timeout conosci qualche query sql che mi pu ottimizzare il tutto???

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.