Еще одна вещь, которую следует учитывать, - это добавить столбцы Indexed Computed в таблицу каталога, это позволит легко (и индексировать) запрашивать и, что более важно, объединяться.Поскольку SUBSTRING по своей природе является детерминированным (вычисляемые столбцы могут быть проиндексированы, только если они являются детерминированными), эти столбцы будут одинаково быстрыми после индексации (в пределах разумного), например:
CREATE TABLE [dbo].[tbl_Example](
[ID] [int] NULL,
[SKU] [varchar](50) NULL,
[Computed_Product] AS (substring([SKU],(1),(2))),
[Computed_Brand] AS (substring([SKU],(3),(2)))
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE NONCLUSTERED INDEX [IX_Computed_BrandCode] ON [dbo].[tbl_Example]
(
[Computed_Brand] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_ComputedProductCode] ON [dbo].[tbl_Example]
(
[Computed_Product] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
INSERT [dbo].[tbl_Example] ([ID], [SKU]) VALUES (1, N'ASdasdasdL')
INSERT [dbo].[tbl_Example] ([ID], [SKU]) VALUES (2, N'1231f2efwdsfas')
INSERT [dbo].[tbl_Example] ([ID], [SKU]) VALUES (3, N'sdf23re2fwdf')