Táblaadattípusok dedikált SQL-készlethez (korábban SQL DW) a Azure Synapse Analyticsben
Ez a cikk a táblázat adattípusainak dedikált SQL-készletben való 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 című témakörben 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 használható 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, 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) értéket az NVARCHAR(MAX) vagy a VARCHAR(MAX) helyett.
Ha polyBase külső 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ú adatokkal rendelkező sor meghaladja az 1 MB-ot, a sort BCP-vel töltheti be, a PolyBase-tel 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. Az alábbi lekérdezéssel nem támogatott adattípusokat fedezhet fel a meglévő SQL-sémában:
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 a 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 beírt oszlopra. |
table | Konvertálás ideiglenes táblákká. |
Időbélyeg | Átdolgozhatja a kódot a datetime2 és a CURRENT_TIMESTAMP függvény használatához. Alapértelmezésként csak az állandók támogatottak, így current_timestamp nem határozhatók meg alapértelmezett kényszerként. Ha sorverzióértékeket kell áttelepítenie egy időbélyegbe beírt oszlopból, használja a BINÁRIS(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, alakítsa 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.