Consiglio sulla velocità e prestazioni del database sql server express...

giovedì 18 gennaio 2007 - 21.40

trinity Profilo | Guru

Escludendo il fatto che in sql server express una tabella può raggiungere un limite max di grandezza pari a 4 gb(se nn erro)

volevo chiedervi un consiglio.

io ho una tabella con all'interno circa 15 campi, in questi campi ce ne sono quanto di tipo integer che rappresentano i codice nazione di una tabella nazioni appunto


mi spiego meglio come è costruita la tabella anagrafica:


id cognome nome sesso codstatonascita codstatoresidenza ecc....
1 Cirillo Fabio Maschio 100 100
2 rossi mario Maschio 235 100
..........



tenendo presente che io nel database ho una tabella con l'elenco di tutti questi codici e con la relativa descrizione perchè mi serve quando faccio fare al cliente l'input di dati

ecco come è strutturata la tabella delle nazioni

id descrizione codnazione
1 Italia 100
2 Germania 235
3 regno Unito 566
4 Usa 788
5 Austria 108


allora la mia domanda è la seguente:
per una ricerca in una winform, per garantire velocità e prestazioni mi conviene nella prima tabella anagrafica inserire anche i campi descrizione delle nazioni così faccio solo una select su una tabella ma però aumento il numero di campi che costituiscono la tabella anagrafica oppure la lascio così e quando vado a fare la select faccio una join sulla tabella nazioni utilizzando il campo codnaz che è uguale in entrambe le tabelle e che poteri renderlo indicizzato?

Spero essermi fatto capire :-)
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

lbenaglia Profilo | Guru

>Escludendo il fatto che in sql server express una tabella può
>raggiungere un limite max di grandezza pari a 4 gb(se nn erro)

Ciao Fabio,

SQL Server 2005 Express Edition permette di gestire database fino a 4GB (al limite se esiste una sola tabella nel DB, può occupare 4GB ).

>allora la mia domanda è la seguente:
>per una ricerca in una winform, per garantire velocità e prestazioni
>mi conviene nella prima tabella anagrafica inserire anche i campi
>descrizione delle nazioni così faccio solo una select su una
>tabella ma però aumento il numero di campi che costituiscono
>la tabella anagrafica oppure la lascio così e quando vado a fare
>la select faccio una join sulla tabella nazioni utilizzando il
>campo codnaz che è uguale in entrambe le tabelle e che poteri
>renderlo indicizzato?
Vai di JOIN ad occhi chiusi, è molto più importante avere una base dati in terza forma normale piuttosto che denormalizzare "a casaccio" per presunti problemi di performance (che in questo caso con 2 semplici JOIN non si presenteranno MAI ).
Ricordati di indicizzare le foreign keys dato che di default tale constraint non crea alcun indice.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

ok grazie mille Lorenzo


senti per le chiavi posso crearne solo una all'interno della quale metto i campi codici da indicizzare?

oppure devo creare chiave per chiave?

Ciao

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5