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


Táblaadattípusok dedikált SQL-készlethez (korábban SQL DW) az Azure Synapse Analyticsben

Ez a cikk a dedikált SQL-készlet táblaadattípusainak meghatározására vonatkozó javaslatokat tartalmaz.

Támogatott adattípusok

A dedikált SQL-készlet (korábbi nevén SQL DW) támogatja a leggyakrabban használt adattípusokat. A támogatott adattípusok listáját a CREATE TABLE utasítás adattípusai között találja.

Sorhossz kis méretűre állítása

Az adattípusok méretének minimalizálása lerövidíti a sor hosszát, ami jobb lekérdezési teljesítményt eredményez. Használja az adatokhoz megfelelő legkisebb adattípust.

  • Kerülje a nagy alapértelmezett hosszúságú karakteroszlopok definiálását. Ha például a leghosszabb érték 25 karakter, akkor adja meg az oszlopot VARCHAR(25) értékként.
  • Kerülje az NVARCHAR használatát, ha csak VARCHAR-ra van szüksége.
  • Ha lehetséges, használjon NVARCHAR(4000) vagy VARCHAR(8000) helyett NVARCHAR(MAX) vagy VARCHAR(MAX).

Ha külső PolyBase-táblákat használ a táblák betöltéséhez, a táblasor megadott hossza nem haladhatja meg az 1 MB-ot. Ha egy változó hosszúságú adattal rendelkező sor meghaladja az 1 MB-ot, a sort BCP-vel töltheti be, a PolyBase használatával azonban nem.

Nem támogatott adattípusok azonosítása

Ha egy másik SQL-adatbázisból migrálja az adatbázist, előfordulhat, hogy olyan adattípusokat talál, amelyek nem támogatottak a dedikált SQL-készletben. A következő lekérdezéssel felderítheti a meglévő SQL-sémában nem támogatott adattípusokat:

SELECT  t.[name], c.[name], c.[system_type_id], c.[user_type_id], y.[is_user_defined], y.[name]
FROM sys.tables  t
JOIN sys.columns c on t.[object_id]    = c.[object_id]
JOIN sys.types   y on c.[user_type_id] = y.[user_type_id]
WHERE y.[name] IN ('geography','geometry','hierarchyid','image','text','ntext','sql_variant','xml')
 AND  y.[is_user_defined] = 1;

Megkerülő megoldások nem támogatott adattípusokhoz

Az alábbi lista azokat az adattípusokat mutatja be, amelyeket a dedikált SQL-készlet (korábban SQL DW) nem támogat, és hasznos alternatívát kínál a nem támogatott adattípusokhoz.

Nem támogatott adattípus áthidaló megoldás
geometria varbinary
földrajz varbinary
hierarchiaazonosító nvarchar(4000)
kép varbinary
szöveg varchar
ntext nvarchar
sql_variant Oszlop felosztása több erősen típusos oszlopra.
tábla Konvertálás ideiglenes táblákká.
időbélyeg A kód átdolgozása a datetime2 és a CURRENT_TIMESTAMP függvény használatára. Alapértelmezés szerint csak az állandók támogatottak, így a current_timestamp nem definiálhatók alapértelmezett kényszerként. Ha sorverzióértékeket kell áttelepítenie egy időbélyeg típusú oszlopból, használja a BINARY(8) vagy a VARBINARY(8) értéket a NOT NULL vagy NULL sor verzióértékekhez.
xml varchar
felhasználó által definiált típus Ha lehetséges, konvertálja vissza a natív adattípust.
alapértelmezett értékek Az alapértelmezett értékek csak a literálokat és az állandókat támogatják.

Következő lépések

A táblák fejlesztéséről további információt a Táblázat áttekintése című témakörben talál.