SQL Server 2018 string_split, leírja és összehasonlítja a Olonec Sergey

A függvény mindössze 2 paraméter: sőt, a vonal is, amely meg kell bontani és a szeparátor. Van egy nagyon fontos és nagyon világos korlátozása, a szeparátor lehet csak egy karakter hosszúságú. Ezért, ha kell osztania a string egy nagy osztó, ez a funkció nem működik az Ön számára, és meg kell keresni egy másik megoldást.

És valóban, a kód maga a vizsgálat, amelyben először elő a szövegben 20.000 szó vesszővel elválasztva, majd ellenőrizze a bontás különböző módszerekkel.

Nos, adok egyik eredménye.

SQL Server Execution Times:
CPU idő = 16 ms, az eltelt idő = 113 ms.

SQL Server Execution Times:
CPU idő = 13468 ms, az eltelt idő = 13759 ms.

SQL Server Execution Times:
CPU idő = 143875 ms, az eltelt idő = 143.989 ms.

SQL Server Execution Times:
CPU idő = 16 ms, az eltelt idő = 216 ms.

Amint látjuk, a CLR funkció STRING_SPLIT hagyja messze elmarad a többi megoldás, de lehet választani közülük gyorsan válik problematikussá, mert rajtidejének nem különbözik változik teszt, hogy teszteljék. Ebben az esetben a CPU ára ugyanaz, és az átfutási idő lassabb. Azonban egyes induló, az átfutási idő hasonló, úgyhogy nem próbálja meg, hogy a tenyér ezek közül bármelyik. Ez tényleg jó, hogy végre van egy integrált megoldás kiváló teljesítményt nyújt. De ha kell használni splitter több karakter, azt javasoljuk, hogy használja a CLR döntést.

Hozzászólás navigáció