Pytanie. Tworzę hurtownię danych na SQL Server/Azure SQL. Na źródle mam pewne kategorie jako nvarchar. Np. typ dokumentu = faktura albo zamówienie. Podczas ładowania ze stagingu do hurtownii, denormalizuję tabele by uzyskać tabelę faktów czyli np. robie joina z jednej tabeli do drugiej, gdzie warunek to typ dokumentu = typ dokumentu. Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np? Czy uzyskałbym lepszy perfomance gain gdybym na wejściu zrobił case when [typ dokumentu] = faktura then 1 itd. i potem po tym joinował?
#sql #datawarehouse #hurtowniadanych #sqlserver
#sql #datawarehouse #hurtowniadanych #sqlserver
borkovski
2022-11-16 11:55:44
+4
@przecietnyczlowiek:
Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np?Tak
Czy uzyskałbym lepszy perfomance gain gdybym na wejściu zrobił case when [typ dokumentu] = faktura then 1 itd. i potem po tym joinował?Nie
Damian8Damian9
2022-11-16 12:19:01
+3
@przecietnyczlowiek: Jeśli to jest DW to z założenia powinieneś tworzyć tabele wymiarów i kolumny typu typ dokumentu właśnie podmieniać na FK
przecietnyczlowiek
[OP]
2022-11-16 11:58:16
+0
@borkovski: ok dzięki, to ma sens.