Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    estrarre un record qualsiasi

    ragazzi non ridete:
    in una pagina asp devo visualizzare un record di una tabella che contiene tre milioni di record.
    Indicando nella WHERE alcuni criteri io riesco a individuare circa 80.000 record che potrebbero andarmi bene.... a me basta che prenda il primo o uno qualsiasi di quegli 80.000.

    La tabella è in un db access e io pensavo ad una select di questo tipo, o simile a questa:

    SELECT TOP 1 *
    FROM TabellaQ
    WHERE Marca = 'xxx' AND Codice_Importatore = 'yyy' AND Codice_Listino = 'zzz'
    ORDER BY Timestamp DESC;

    perchè avevo visto da qualche parte che con TOP n potevo limitare l'estrazione a n record....In access questa non va, mi estrae tutti gli 80.000 (e ho anche visto che messa sulla pagina asp genera una scrittura nel registro degli eventi come fosse un errore di una applicazione) e quindi non mi va bene...

    ho il cervello in pappa, mi date una dritta sintattica?
    grazie
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    ma perchè se metti solo

    response.write (rs("oggetto_da_stampare")) non ti fa visualizzare solo 1 degli 80000 record estratti?

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    si, non hai torto neanche tu...
    però per velocizzare la query, e impegnare un po' meno il server (senza che faccia un recordset di 80mila record) non posso fare niente?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    il problema è proprio di tempo di esecuzione: siccome è in una "pagina di passaggio" viene eseguita parecchie volte e stressa non poco il server...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    prova con select distinct, ti dovrebbe ridurre ulteriormente, ma non ne sono sicuro...sinceramente select top non lo conoscevo

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    grrrrrazie ci provo
    il select First col group by in coda secondo te è più lento?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    Tutti vogliono parlare, nessuno sa ascoltare.

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    grazie gioba, ma allora perchè non funzia la mia select inziale? cos'ha di sbagliato da generare addirittura un errore nel registro eventi del server? (ammesso che sia quello perchè a questo punto mi vengono anche i dubbi)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    controlla cosa c'è in timestamp
    se 80.000 record hanno lo stesso valore, anche con il top 1 * te li restituisce tutti. per farsene restituire 1 solo, aggiungi un altro criterio di ordinamento.

    ....order by timestamp desc, id desc
    Tutti vogliono parlare, nessuno sa ascoltare.

  10. #10
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    allora, per notizia:
    ho fatto due prove con le indicazioni di gioba e mi sembra che se invece di usare la select top 1 uso la select first il caricamento della pagina sia notevolmente più veloce... ora do un'occhiata anche al picco di occupazione di memoria sul server, anche so già quale select mi diranno di utilizzare indipendentemente dall'abuso di ram e cpu :-)
    ("tanto il server su cui girerà mica è il nostro...")
    intanto grazie a tutti
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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.