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

    Rotture di pagina (esperti DB)

    Ciao a tutti,
    ho una tabella di anagrafiche da cui voglio effettuare delle ricerche. Se nel form di ricerca non scrivo niente mi vengono restituiti e intabellati tutti i risultati.
    "SELECT * FROM anagrafica"
    ovviamente vengono visualizzati solo un tot di risultati per pagina, e nella parte inferiore c'e' il classico selettore di pagina che indica cosa stiamo visualizzando
    codice:
    Pagina 1 2 3 4 5
    in MySQL tutto questo si risolve con il solito LIMIT. Ma come faccio se uso postgres o SQL SERVER (voglio che la mia applicazione giri con tutti e 3 i dbms)?
    Una soluzione potrebbe essere quella di utilizzare il data seek, di spostare il cursore ad una determinata riga e da li fare N fetch (dove N è il numero di ris visualizzabili per pagina).
    Il mio dubbio è che se la tabella è particolarmente corposa, non è che la query "SELECT * FROM anagrafica" è troppo pesante? Supponiamo che nella tabella ci siano 10.000.000 di records, il dbms se li carica tutti in memoria anche se ai fini pratici ne utilizzo 10 ?
    Come funziona effettivamente?
    Esistono eventualmente soluzioni alternative?


  2. #2
    Con Postgres puoi usare LIMIT, con SQL Server non saprei.

    Per postgres puoi guardare qui (oltre che sul manuale ufficiale)

    http://freephp.html.it/articoli/view...p?id=119&pag=7
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  3. #3
    kk
    ma se io faccio una query che potenzialmente mi restituisce 10000000000 risultati, ma poi ne leggo (fetch_array) solo 10, il dbms lavora solo per quelle 10 o deve perdere tempo leggersi tutti i 10000000000 records?

    forse dipende dal dbms? :master:


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.