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

    usare delete su due tabelle in relazione senza innodb

    Ciao a tutti
    premetto che sul mio server mysql non p disponibile innodb ma solo mysam
    Ho due tabelle

    1)pws
    2)users

    Se un utente non conferma la registrazione entro 24 ore voglio cancellare i suoi due records (uno per tabella) contenente i suoi dati
    ho pertanto fatto una query utile allo scopo:

    $query="DELETE pws, users FROM pws INNER JOIN users ON pws.id=users_id WHERE pws.stato=0 AND $time-pws.iscrizione>86400";

    Mi sembra che lavori bene ma vorrei che la giudicaste e nel caso vorrei sapere se è migliorabile e come?
    Grazie

  2. #2
    Quello che volevo e che vorrei sapere e che mi sfigge è:
    una query del genere che ho testata solo su pochi records se dovesse cancellare 2.000.0000 di records (di spam) sparpagliati in una tabella di che ne contiene 2.000.600 quanto ci mette?
    E' ottimizzabile?
    E' miglioranile?
    E' calcolabile quanto ci mette?
    Grazie

  3. #3
    La query e' corretta. Se hai dubbi sul tempo impiegato e sull'esito della cancellazione prova a "frazionare" la cancellazione con diversi step di timeout. Fai dei blocchi temporali ed ottimizza le tabelle in modo da compattare i file.

    Si tratta (quella iniziale) di un'azione di mantenimento delle tabelle da farsi manualmente. Dopo la normalizzazione innescherai la routine che provvedera' alla cancellazione periodica. Sarebbe meglio adottare pero' anche un antispam che impedisca od almeno limiti queste iscrizioni selvagge.

    ma come mai fai due tabelle? la password e' uno stretto attributo dello user...

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

  4. #4
    Grazie del giudizio positivo circa la query
    Ho due tabelle perchè in una ci sono gli username, le passwords, la data dell'ultimo accesso, l'ip, il livello di sicurezza ecc...... e nell'altra o dati anagrafici
    Le due tabelle sono collegate dal ID con cui le metto in relazione.
    Per quanto riguarda le registrazioni selvagge non umane sono per ora solo allo stadio teorico perchè non sono molto facili da attuare in quanto ho un sistema antispam che pare funzioni.
    Certamente se un umano ci prova a mano ci riesce ma ti assicuro che diventa matto e non conviene.
    Tutto comunque è aggirabile.
    Nelle mie registrazioni, dopo la registrazione il livello di sicurezza del nuuovo utente viene azzerato e l'utente viene inviato alla home page con menù ridotto in cui è assente la voce di menù registarti
    Se anche sa come si chiama la pagina di registrazione viene spedito alla home page.
    Per poterlo ri-fare bisogna chiudere il browser e/o cancellare i cookies e la cache poi rientrare e cercare di nuovo di ottenere la pagina di registrazione la qiale ti cattura subito l'ip e va a vedere se nel file delle passwords c'è già un utente con livello di sicurezza=0 con lo stesso ip e se c'è ti manda alla home page con livello di sicurezza=0 e il menù ridotto
    Quindi per fare un'altra registrazione deve cambiare IP alzare il suo livello di sicurezza cliccando il link che gli virene inviato in una email automatica

    Tanto casino solo per fare uno scherzo?
    Non conviene

  5. #5
    Purtroppo il forum non mi lascia correggere le mie mail ma volevo aggiungere che il sistema di protezione antispam CAPTACHA e in generasle quelli che deformano la scrittura va bene solo per le persone giovani

    Per il sito in oggetto che sto cosrtruendo non posso implementarlo perchè i molti utenti meno giovani che quindi hanno presbiopoia +/- avanzata hanno serie difficoltà a leggere i caretteri deformati.

    Penso, siccome tutti prima o poi (spesso prima) entriamo in questa categoria, che sarebbe buona cosa pensare a quanti utenti facciamo dannae con le lettere deformate

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.