|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2005
Città: Terracina
Messaggi: 319
|
database e null (prestazioni)
salve a tutti
ho creato una routine per l'inserimento nel database di alcuni valori ho fatto diverse if per i valori per vedere se erano valorizzati, e in caso contrario li impostavo a "Null",ovviamente concatenando il tutto per creare la stringa SQL esempio: Codice:
if variabile ="" then variabile ="NUll" 'imposto a null il valore else variabile="'" & replace(variabile,"'","''") & "'" 'metto apici e replace end if dichiarando che tutte quelle if avrebbero influito sulle prestazioni, e che sarebbe meglio non gestire i null,anzi mettere stringa vuota nel db il mio capo ha 20 anni di esperienza, e non mi va di contraddirlo, ma secondo voi è corretto quello che ha detto? in effetti dovrei gestire una quindicina di variabile e controllare il valore e impostarle a null se sono vuote,e il null implica piu velocita di esecuzione nelle query nel database cosa mi dite? ho un forte dubbio grazie
__________________
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
|
secondo me non è corretto ciò che ti ha detto, stringa vuota e null sono due cose diverse nel DB (usi sql server?) A parte che se si tratta di un int o datetime credo ti darebbe dei problemi, ma, ammettendo che tu abbia solo tipi varchar char etc, ci sarebbero dei problemi anche con eventuali Foreign key per esempio, cosa che con il null non avresti.
Io faccio sempre come fai te, se ho "" la pongo a null, per quanto riguarda le prestazioni, scegliere migliorarle eliminando le condizioni if, mi sembra una cosa poco redditizia.
__________________
tag XBOX live Aldair74 Nick PSNRiordian Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2002
Messaggi: 305
|
Non saprei se il null implichi maggiore velocità... nota che in una query di selezione quando trovi un null per evitare problemi devi usare un costrutto ifnull() o cose del genere (a seconda del db).
Dipende molto da che db usi credo, e dalle strategie di ottimizzazione che ha. Nota comunque che può essere molto più redditizio ottimizzare il database tramite le apposite utility, o ottimizzare le query di selezione. La presenza di stringhe vuote e di null non può a mio parere essere considerata la stessa cosa: sono due cose differenti, e se è così c'è un motivo. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:41.