Er det smart med nvarchar(30) baseret unique key?
GoddagSpg: Er det lige saa hurtigt(eller rettere sagt, er det langsomt...) at have en primary key som nvarchar(30) istedet for bigint?
Lidt historie:
I min db har jeg en tabel "Parts" hvori 6 kolonner refererer til en anden tabel "Geometries". Geometries indeholder bla. kolonnerne GeometryId, Path, Min, Max osv. Idet jeg laver et udtraek skriver jeg det saaledes:
SELECT * FROM Parts
LEFT OUTER JOIN viewGeometries1 ON Geometry1Id = PartsGeometry1Id
LEFT OUTER JOIN viewGeometries2 ON Geometry2Id = PartsGeometry2Id
LEFT OUTER JOIN viewGeometries3 ON Geometry3Id = PartsGeometry3Id
LEFT OUTER JOIN viewGeometries4 ON Geometry4Id = PartsGeometry4Id
LEFT OUTER JOIN viewGeometries5 ON Geometry5Id = PartsGeometry5Id
LEFT OUTER JOIN viewGeometries6 ON Geometry6Id = PartsGeometry6Id
WHERE PartId ....
Hvor ViewGeometriesX er views over Geometries tabellen. Disse er defineret saaledes at der ikke kommer navne kambolage.
Hvert view indeholder 2 kolonner:
1) Id
2) Path
og jeg er interesseret i Path.
Som jeg ser det, ville det vaere smartere at bruge Path som primary key, eftersom jeg saa ikke skulle lave alle de outer joins.
Hvad mener i om det?