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
Crystal Reports e reportistica
[SSRS: ? x2] Campi con apici e chiavi primarie
martedì 09 maggio 2006 - 11.12
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
mar 9 mag 2006 - 11:12
Saluti a tutti
Avrei due domande su SSRS, di diversa natura:
1) Risolto con una search sul forum (e mi fustigo per non averci pensato prima)
2) Ho una tabella che non ha settata una chiave primaria, e che non avrebbe una chiave primaria significativa neanche se selezionassi tutti i campi (perchè ci sono righe che sono ripetute interamente a causa della logica dell'applicazione che richiede un conteggio dei duplicati). Per migliorare le prestazioni, volevo quindi aggiungere alla tabella un campo con un ID. Nel Server Explorer, quindi, apro il Design Table e... come posso far sì che inserisca automaticamente alle circa 10.000 righe un ID unico per ogni riga? C'è un modo automatizzato dal programma (tipo Access, che se non mi sbaglio inserendo un campo Counter lo completa automaticamente) o dovrei costruirmi un altro modo, tipo una query?
Grazie a tutti per l'attenzione
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mar 9 mag 2006 - 15:06
inserisci un nuovo campo formattato come identity ,cioè come contatore.
C'è solo un capitano !!!!!!
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
mar 9 mag 2006 - 15:28
Come tipi di dati per i campi non ho identity
Ho "uniqueidentifier" però, ma inserendolo mi mette tutta la colonna a NULL (anzichè riempirla automaticamente di un contatore crescente come mi pare faccia Access). Non so se c'è da fare qualcosa di particolare per riempirlo automaticamente se la tabella è già piena...
Forse sbaglio tipo, ma mi sembrava il più simile al contatore tra quelli disponibili:
bigint, binary, bit, char, datetime, decimal, float, image, int, money, nchar, numeric, ntext, nvarchar, real, smalldatetime, smallint, smallmoney, sql_variant, text, timestamp, tinyint, uniqueidentifier, varbinary, varchar
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mar 9 mag 2006 - 20:58
come tipo campo devi mettere int ,e tra le opzioni troverei identity e lo devi impostare a true.
C'è solo un capitano !!!!!!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 9 mag 2006 - 22:06
ciao,
per impostare 1a colonna come identita' il metodo piu consigliato è quello di creare 1a colonna di tipo "int" e specificare nelle proprieta' della colonna che sia 1 identita', specificando tral'altro anche il "passo" da dare all'incremento, come vedi in questa img:
481x254
47Kb
cosi è retroattiva ovvero si occupa lui di mettere i valori anche nelle righe che ci sono gia.
L'unica cosa è ricordati che da codice non la devi considerare quando fai update o insert, si arrangia il motodre di db
ciao.
Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
Hamelin [FL]
Profilo
| Junior Member
65
messaggi | Data Invio:
mer 10 mag 2006 - 09:35
Grazie mille, sono riuscito perfettamente :)
Ho impostato questa chiave primaria perchè la generazione del report è piuttosto lenta, e mi avevano detto che in questo modo ci sarebbe stato un notevole aumento di prestazioni... purtroppo ho guadagnato solo qualche secondo :(
Marco comunque il thread come risolto visto che la risposta era proprio quella corretta... Avete idee per migliorare le prestazioni di generazione di un report? (o magari errori comuni che si fanno nella loro costruzione)
Ho notato, ad esempio, che se nella sezione "category fields" di un grafico metto troppe cose (e tra l'altro erano categorie piuttosto pesanti) la generazione del report rallenta in maniera *pesantissima* (il tempo di generazione mi passava da 1 minuto a 6 minuti)... ci sono altri errori del genere, che voi sappiate?
(meglio se apro un altro thread?)
Grazie ancora per la soluzione, e per l'ulteriore ascolto
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 10 mag 2006 - 18:17
ciao,
la 1ma cosa da fare assolutamente (che è anche 1a buona norma di programmazione in generale) è fare le query dei campi che ti servono e non fare le classiche "select * ..." per poi usare meno campi.
Gli indici sono utili sicuramente sopratutto pero' quando metti nella clausola "where" i confronti con l'indice...altrimenti ti cambia poco...
ALtro non saprei, ti consiglio di non usare campi con immagini che visualizzi nel report (campi "BLOB") ma altre specifiche "generali" non ci sono, devi tropvare tu dove sta il collo della bottigli a da te
ciao.
Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
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 !