Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een tabelschema definieert de namen en gegevenstypen van alle kolommen in de tabel. Het tabelschema kan worden ingesteld tijdens het maken van een tabel of als onderdeel van het gegevensopnameproces door de toepasselijke opnametoewijzing te wijzigen. De manier waarop een tabelschema wordt gedefinieerd, kan de prestaties van uw query aanzienlijk beïnvloeden. Het ideale schema voor uw gegevens is afhankelijk van veel factoren, waaronder use-case, patronen voor gegevenstoegang en de specifieke gegevens die u wilt opslaan. In dit artikel worden aanbevolen procedures beschreven voor het optimaliseren van prestaties door efficiënte schema's te ontwerpen.
Gegevenstypen
Zie scalaire gegevenstypen voor algemene informatie over gegevenstypen.
Veelgebruikte velden moeten kolommen zijn getypeerd en niet van het type dynamisch.
Vaak opgezochte of geaggregeerde JSON-eigenschappen in een dynamische kolom zouden moeten worden omgezet naar een reguliere kolom in de tabel met een specifiek type, zoals string, long of real.
Sparse-kolommen die niet vaak worden gebruikt voor filteren en aggregeren, moeten als een verzameling van eigenschappen in een dynamische kolom worden verzameld door gebruik te maken van de
DropMappedFieldstoewijzingstransformatie.Datum/tijd-kolommen moeten worden getypt als datum/tijd en niet lang of andere gegevenstypen.
Het decimale type biedt exacte precisie, waardoor het meest geschikt is voor financiële en andere toepassingen waarvoor exacte nauwkeurigheid is vereist. Het is echter veel langzamer dan het echte type. Gebruik indien nodig alleen het decimale type.
Alle id-kolommen (identificatiekolommen) moeten worden getypt als tekenreeks, niet als numeriek. Dit type maakt de index veel effectiever en kan de zoektijd aanzienlijk verbeteren. Ook wordt partitionering ingeschakeld, omdat partitionering alleen kan worden gedefinieerd voor tekenreekskolommen. Als de queryfilters die in deze kolom worden gebruikt alleen gelijkheid zijn, bijvoorbeeld als de kolom guids heeft, kunt u het coderingsprofiel
Identifiergebruiken. Zie coderingsbeleid voor meer informatie.
Tables
- Optimaliseren voor smalle tabellen, die de voorkeur hebben boven brede tabellen met honderden kolommen.
- Om dure joins tijdens de tijd van query's te voorkomen, moet u de dimensiegegevens denormaliseren door deze tijdens de invoer te verrijken. Als de dimensietabel die wordt gebruikt voor verrijking wordt bijgewerkt en het scenario de meest recente waarde vereist, gebruikt u gematerialiseerde weergaven om alleen de meest recente waarde te behouden.
- Als er meer dan 20 kolommen zijn die sparse zijn, wat betekent dat veel waarden null-waarden zijn en deze kolommen zelden worden gebruikt voor zoekopdrachten of aggregatie, groepeert u de kolommen als een JSON-eigenschappenverzameling in een dynamische kolom met behulp van de
DropMappedFieldstransformatietoewijzing.
Indexeren
Velden waarop nooit wordt gezocht, kunnen indexering uitschakelen. Gebruik het coderingsbeleid met profiel BigObject om indexering voor tekenreeksen of dynamische getypte kolommen uit te schakelen.