Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Relazione di due tabelle
martedì 29 settembre 2009 - 20.08
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
PEPE
Profilo
| Senior Member
296
messaggi | Data Invio:
mar 29 set 2009 - 20:08
Salve a tutti,
oggi mi è sorto un grande dubbio in merito alla relazione di due tabelle.
Mi spiego meglio ho creato 2 tabelle con le relative colonne tra cui la chiave primaria e la chiave esterna. Il tipo di dati che ho utilizzato è stato intero...e qui viene il bello. Un collega mi ha fatto cambiare il tipo di dato da intero a "testo", on ricordo bene se varchar,, nvarchar sostenendo che le join sono più veloci.
Ovvero meglio un "testo(2)" o "testo(3)" ecc. che un int. Purtroppo non ho potuto fare le prove ma sono proprio curioso di sapere il motivo perchè non mi tornano certi conti :P.
Grazie 1000,
Luca.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mar 29 set 2009 - 20:46
>Un collega mi ha fatto cambiare il tipo di dato da intero a "testo", on
>ricordo bene se varchar,, nvarchar sostenendo che le join sono
>più veloci.
Con che dati alla mano?
Crea due esempi e popola le tabelle con qualche milione di righe, esegui la stessa query e valuta i tempi di esecuzione.
Il datatype int occupa 4 bytes mentre varchar(2) o varchar(3) occupano rispettivamente 2 o 3 bytes.
Come vedi gli ultimi 2 esempi sono più compatti e quindi in una stessa index page ci saranno più righe, minimizzando l'I/O su disco.
Occorre però valutare coi fatti se questo si tradurrà automaticamente in un vantaggio prestazionale...
>Grazie 1000,
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
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 !