Sql server 2018 string_split, descriere și comparație performanță, Olonets sergey

Funcția acceptă numai 2 parametri: șirul propriu-zis și separatorul. Există o limitare foarte importantă și nu foarte clară, delimitatorul poate avea doar un caracter lung. Prin urmare, dacă trebuie să spargeți o linie într-un delimitator mai mare, această funcție nu va funcționa pentru dvs. și trebuie să căutați o altă soluție.







Și, de fapt, codul testului, în care pregătesc pentru prima dată un text de 20 de mii de cuvinte separate de virgulă și apoi verifică defalcarea prin diverse metode.

Îți dau unul din rezultate.

Timpi de execuție SQL Server:
Durata procesorului = 16 ms, timpul scurs = 113 ms.







Timpi de execuție SQL Server:
Durata procesorului = 13468 ms, timpul scurs = 13759 ms.

Timpi de execuție SQL Server:
Durata procesorului = 143875 ms, timpul scurs = 143989 ms.

Timpi de execuție SQL Server:
Durata procesorului = 16 ms, timpul scurs = 216 ms.

După cum vedem, funcția CLR și STRING_SPLIT lăsăm mult în urma restului soluției, dar alegeți care dintre ele este cea mai rapidă problemă, deoarece timpul lor de lansare este practic același și variază de la test la test. În acest caz, costurile CPU sunt aceleași și timpul de execuție este mai lent. Cu toate acestea, în unele start-up-uri, timpul de execuție devine comparabil, așa că nu voi da palma niciunuia dintre ei. Este foarte cool, că în sfârșit există o soluție încorporată cu performanțe excelente. Dar, dacă trebuie să utilizați un separator mai mult de un caracter, atunci vă recomandăm să utilizați soluția CLR.

Afișați navigația







Trimiteți-le prietenilor: