[Emozioni] Non a tutti gli informatici succede …

15 03 2008

Caro diario,

voglio raccontarti una cosa che mi è successa ieri al lavoro. Avevo da fare una query su una tabella di un database (SQL Server 2005) un pò particolare. La particolarità non è per la query che è una cavolata, ma per la mole di filtri da inserire. In pratica da una tabella da tanti XMila record dovevo filtrarne YMila facendo una WHERE secca su un campo e su un altro campo dovevo escludere quelli presenti in un elenco (11700 per l’esattezza) e così mi sono messo a preparare la query in excel sfruttando le macro. La prima versione era del tipo:

SELECT * FROM Tabella WHERE Campo1 = Valore1 AND Campo2 NOT IN ( ‘Val1′, [...] , ‘Val11700′) ORDER BY NomeCampo

La situazione non era delle più snelle, così ho coinvolto LadyChobin per vedere se assieme si trovava una query più snella. Il mio neurone ha avuto una bellissima idea ed ha cambiato la macro per ottenere la seguente query:

SELECT * FROM Tabella WHERE Campo1 = Valore1 AND (Campo2 <> ‘Val1′ AND [...] AND Campo2 <> ‘Val11700′) ORDER BY NomeCampo

Ero ottimista e l’ho lanciata con qua la LadyChobin. Abbiamo visto, per la prima volta entrambe, il seguente errore:

Msg 8631, Level 17, State 1, Line 1
Internal error: Server stack limit has been reached. Please look for potentially deep nesting in your query, and try to simplify it.

Mi ha fatto i complimenti, a lei non era mai successo di fare una query di dimensioni elevate che producesse questo errore. Così siamo tornati alla NOT IN ed abbiamo atteso il risultato.

Quando ha finito, l’ho chiamata e le ho detto “19″ e mi ha chiesto se avesse finito. Le ho risposto si … ci mancava solo che avesse altro da fare dopo tutto quel tempo! Ad esser sinceri ci ha messo esattamente 18 minuti e 42 secondi per estrarre 3961 records.

Dai, LadyChobin ammettilo che ti rode che quell’errore l’ho avuto io e non te … ihihihih …

Ahhh … che bello essere informatici … vediamo cose che voi umani nemmeno si immaginano :P


Azioni

Informazione

5 risposte a “[Emozioni] Non a tutti gli informatici succede …”

15 03 2008
Luce nella Rete (16:28:11) :

Si vede che non faccio più il sistemista da anni. Non ho capito un cacchio di quello che hai scritto. …… A pensarci bene non ho mai visto Sql in vita mia :-)

15 03 2008
innovatel (19:11:50) :

@LuceNellaRete -> In pratica ho fatto una query troppo grossa che il motore di SQLServer non riusciva a caricarsela in memoria per poterla poi eseguire … ed alla LadyChobin rode tanto tanto … ihihihihih :P

15 03 2008
Luce nella Rete (20:15:53) :

OK se in un’altra vita dovrò fare una Query ti chiederò una consulenza.

19 03 2008
ops8086 (21:00:02) :

Ahhhhh le query, il mio pane quotidiano. Proprio in questi giorni sto avendo un problema con un cliente che ha voluto installato un programma che ho fatto su un nuovo PC…. in 3 pc (quelli di prima) funziona perfettamente, in quello nuovo, stesso identico database, stesso sitema operativo, stessa versione del software….da un errore dicendo che si aspetta che un campo di una query sia String e invece risulta VarByte. Mistero…. non ho ancora capito il motivo! ‘nnaggia a ste query di oggi! :D

29 05 2008
(Lady).Chobin » Error da sfidelle... (14:05:33) :

[...] Ormai gli errori "strani" si riportano nel blog, come sfida. Non molto tempo fa Innoland era riuscito a riprodurre questo. [...]

Lascia un commento

Puoi usare questi tag : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>