Diferente T-SQL vs. PL/SQL


Din seria „Ce frumoasa e viata mea cu Oracle” va prezint azi catalogarea NULL-ului intr-o ordonare dupa o coloana numerica cu NULL-uri:

Tabela A :

Id        Count
–––––

1            241
2            32
3            300
4            NULL

SELECT * FROM A
ORDER BY Count DESC

T-SQL :

Id    Count
––––
3    300
1    241
2    32
4    NULL

PL/SQL :

Id      Count
––––
4        NULL
3        300
1        241
2        32

Deci daca aveti de portat ceva din T-SQL catre PL/SQL tineti cont de aceasta mica diferenta 😉

Bafta!

Una din tainele lui DISTINCT


Ghinion (pentru unii :P), post-ul acesta este strict de tehnologie. Mai exact SQL Server (Microsoft).

Am descoperit o chestie interesanta (100% scrie in documentatie dar eu nu o citisem) :

(Exemplu simplificat puternic) Sa zicem ca ai o tabela  T cu o coloana A de tip INT si datele tabelei sunt :

A
_________
0
1
2
NULL

Ei bine atunci SELECT DISTINCT A FROM T va returna

0
1
2
NULL

Dar! SELECT COUNT(DISTINCT A) FROM T va returna 3 (nu 4 cum s-ar astepta unii dintre noi).

Se pare ca e foarte privilegiata aceasta valoare numita NULL. O sa verific probabil maine la serviciu cum merg lucrurile in PL/SQL (Oracle) insa tare cred ca e la fel.

Publicat în SQL. Etichete: , , , , . 2 Comments »

De ce adoarme Full-Text Engine-ul (MSFTESQL) din SQL Server 2005?


Mie imi place sa dorm. Este unul din principalele mele hobby-uri, si de aceea inteleg cand si altora le place sa doarma. Chiar daca ar trebui sa munceasca in acele momente. Totusi uneori e deranjant.

Concret SQL Server 2005 vine cu un engine de cautare (am inteles ca MySQL are integrat asa ceva) in tabele/coloane. Ce se intampla nedorit este ca, in anumite cazuri, dupa 5 minute in care nu s-a facut nici o cautare cu acest engine, fix 5 minute, adoarme. Pur si simplu la
o interogare dupa 5 minute si o secunda vei sta sa astepti intre 20 si 45 de secunde.

Citește în continuare »

Publicat în SQL. Etichete: , . 2 Comments »