Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    88

    Consiglio su prestazioni query

    Salve ragazzi.
    Avrei bisogno di chiedervi una cosa semplicissima.
    La quantità di dati in una tabella può influire sulla velocità di una query?
    Ad esempio una query select effettuata su una tabella con 30mila dati ci impiega più tempo x mostrare i risultati rispetto ad una query effettuata su una tabella di 3milla dati?

    Conviene forse spezzettare una tabella di innumerevoli dati in più tabelle e poi effettuare la query su queste tabelle dei dati che interessano?

    Aspetto qualche vostro consiglio.
    Un grazie a chi legge questo mio quesito e ringrazio ancor di più chi mi risponde.
    AR

  2. #2
    non ci metto la mano sul fuoco,
    cmq credo che la risposta sia SI.
    La quantità di dati in una tabella può influire sulla velocità di una query?
    Fare una query su 30mila invece che 3mila è differente, la mole di dati caricata è diversa.

    Conviene forse spezzettare una tabella di innumerevoli dati in più tabelle e poi effettuare la query su queste tabelle dei dati che interessano?
    non saprei...forse si.

  3. #3
    di che database si tratta ? per un numero di 30000 record su SQL server non ci sono problemi, access nemmeno (escluso il fatto degli accessi contemporanei)

    io ho una tabella su access per il monitoraggio del traffico da oltre 60000 record in costante aumento e una query piuttosto complessa che fa diversi calcoli (sum, etc) e non ci sono problemi

    in genere ci dovrebbero essere delle differenze, ma per così pochi record la cosa penso sia trascurabile
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  4. #4
    conosci un programmino che può vedere l'efficenza in termini di secondi o qualcosa del genere che si può implementare a questi DB?

  5. #5
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    E' molto importante anche sapere per che utilizzo è nata la tabella, perchè se devi fare una ricerca in base ad una chiave l'impegno è sicuramente minore, se invece ad esempio devi cercare un campo testo con un like la differenza si sente sicuramente di più.
    Se usi però sql2000 c'è la possibilità di indicizzare le tabelle e le prestazioni fanno un salto veramente notevole.
    Io ho delle tabelle veramente grandi e con elevati accessi, ma con vari trucchetti si riesce a mantenere il livello di performance abbastanza alto.
    Ciao
    Legnetto

  6. #6

  7. #7
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Dipende sempre da cosa devi fare e se hai tabelle veramente grosse(tipo 500000 righe), cmq:
    creare tabelle temporanee con un centinaio di righe prendendo dalla tabella principale solo i primi valori che corrispondono alle caratteristiche, poi fare la query in join con la tabella temp(join fra le chiavi).
    Usare la full text, utilizzare al massimo le tabelle relazionali, i tipi di dati devono sempre essere quelli giusti, comprarsi un buon manuale di sql :gren: ....
    Ci sono tanti accorgimenti, per alcuni la differenza la si vede però soltanto quando il numero di righe è veramente importante.

    Ciao
    Legnetto

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    88
    Io uso sqlServer 2000 e diciamo che ho una tabella che si aggira attorno ai 80.000 records in costante aumento contenenti 15 campi.
    AR

  9. #9
    sicuramente come dice Legnetto (ciao ) dipende se ci devi fare una ricerca con like che sembra essere + dispendiosa

    penso che 80000 in sqlserver non siano poi tanti. IO ho una situazione simile; attualmente sono a 65000 in sql server ma si incrementa di circa 5000/8000 record al mese.

    In ditta i miei colleghi sono arrivati a 15.000.000 di record in una tabella e lì sembra cominci a rallentare vistosamente

    certamente dipenderà anche dal n° di campi... 15 non sono poi tantissimi.

    E' abbastanza difficile dare una valutazione, bisognerebbe avere una grande esperienza e portare diverse volte ai limiti i db.

    Sempre su questo forum (asp) troverai di gente che dice cha access và in crisi oltre i 10.000 record per tabella. Come ti dicevo io sono a 60.000 con una query piuttosto complessa e il sistema mi sembra ancora "allegro" come quando avevo 10 record.

    Usando tu sql server penso che sei ancora tranquillo

    x legnetto, mi spieghi questa ?
    Se usi però sql2000 c'è la possibilità di indicizzare le tabelle e le prestazioni fanno un salto veramente notevole.
    vuol dire mettere un indice (chiave primaria) costituita da un campo int o numeric ? io lo facco regolarmente.
    Cosa si intende quando dicono "ottimizzare gli indici" ?
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  10. #10
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Velocissimamente perchè devo uscire.
    Se crei un indice (Cercare Full-Text oppure Create Index nella documentazione) quando poi vai a fare la select invece di passare in modo sequenziale tutte le righe della tabella arriva praticamente subito al dato ricercato.
    Questo avviene perchè creando un'indice(praticamente un'altra tabella che gestisce in modo autonomo sql)facendo una ricerca ad esempio su di un campo testo,data,valuta... è come se utilizzassi una primary key.
    Consiglio a tutti di scaricare i books online di sql dalla ms(37 Mb)
    Bisogna tenere presente però che ad esempio nella mia tabella con i valori anagrafici(+ di 600000 righe)il full-text catalog è quasi 16 Mb.
    [OT]
    Che fai di bello stasera Trinità?
    [/OT]
    Ciao
    Legnetto

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 © 2026 vBulletin Solutions, Inc. All rights reserved.