Megosztás a következőn keresztül:


Sémaoptimalizálási ajánlott eljárások

A táblaséma a tábla összes oszlopának nevét és adattípusát határozza meg. A táblaséma beállítható a tábla létrehozása során, vagy az adatbetöltési folyamat részeként a vonatkozó betöltési leképezés módosításával. A táblaséma definiálásának módja jelentősen befolyásolhatja a lekérdezés teljesítményét. Az adatok ideális sémája számos tényezőtől függ, beleértve a használati esetet, az adathozzáférési mintákat és a tárolni kívánt adatokat. Ez a cikk a teljesítmény hatékony sémák tervezésével történő optimalizálásának ajánlott eljárásait ismerteti.

Adattípusok

Az adattípusokkal kapcsolatos általános információkért lásd: skaláris adattípusok.

  • A gyakran használt mezőknek nem dinamikus , hanem beírt oszlopoknak kell lenniük.

  • A dinamikus oszlopokban gyakran keresett vagy összesített JSON-tulajdonságokat a táblázat normál oszlopává kell alakítani egy konkrétabb típussal( például sztring, hosszú vagy valós).

  • A szűréshez és összesítéshez gyakran nem használt ritka oszlopokat tulajdonságcsomagként kell összegyűjteni egy dinamikus oszlopban a DropMappedFieldsleképezés átalakításával.

  • A dátum-idő oszlopokat dátum/idő típusúként kell megadni, nem pedig hosszú vagy más adattípusként.

  • A decimális típus pontos pontosságot biztosít, ami a leginkább alkalmas a pontos pontosságot igénylő pénzügyi és egyéb alkalmazásokhoz. Ez azonban sokkal lassabb, mint a valódi típus. Csak akkor használja a decimális típust, ha szükséges.

  • Minden azonosító (azonosító) oszlopot sztringként kell beírni, nem numerikusként. Ez a típus sokkal hatékonyabbá teszi az indexet, és jelentősen javíthatja a keresési időt. Emellett engedélyezi a particionálást is, mivel a particionálás csak sztringoszlopokon definiálható. Ha az oszlopban használt lekérdezési szűrők csak egyenlőséget jelentenek, például ha az oszlop guidokkal rendelkezik, használhatja a kódolási profilt Identifier. További információ: kódolási szabályzat.

Táblázatok

  • Optimalizálja a keskeny táblákat, amelyek előnyben részesítik a több száz oszlopot tartalmazó széles táblákat.
  • Ha el szeretné kerülni a költséges illesztéseket a lekérdezési idő alatt, a betöltés során bővítve denormalizálja a dimenzióadatokat. Ha a bővítéshez használt dimenziótábla frissítve van, és a forgatókönyv megköveteli a legújabb értéket, materializálja a nézeteket , hogy csak a legújabb értéket tartsa meg.
  • Ha 20-nál több oszlop van, ami azt jelenti, hogy sok érték null értékű, és ezeket az oszlopokat ritkán használják keresésekhez vagy összesítéshez, akkor csoportosítsa az oszlopokat JSON-tulajdonságcsomagként egy dinamikus oszlopban az DropMappedFieldsátalakítási leképezés használatával.

Indexelés

A soha nem keresett mezők letilthatják az indexelést. A kódolási szabályzat és a profil BigObject használatával tiltsa le az indexelést a sztring- vagy dinamikus típusú oszlopokon.