![]() |
#2 |
Участник
|
Провели замеры на типичных пользовательских операциях из клиента.
Усредненно выборки по таблицам с General_Latin1_1251_CI_AS быстрее чем Cyrilic_General_CI_AS на 30%. если неиспользование table scan вместо индекса при General_Latin1_1251_CI_AS по описаниям должен побеждаться вводом на сервере вычисляемого поля вида TERTIARY_WEIGHTS(TEXT_FIELD1) и индексами по нему, то для таблиц в Cyrilic_General_CI_AS помогает ввод вычисляемых доп. полей вида InventDimID_fast = (InventDimID collate General_Latin1_1251_CI_AS), и использования их в Like и т.п. например, Цитата:
select *
from SalesPickingListJournalLine (nolock) where TST_01 like '%01Д0002320%' Цитата:
select *
from SalesPickingListJournalLine (nolock) where PickingListId like '%01Д0002320%' при Цитата:
[dbo].[SALESPICKINGLISTJOURNALLINE](
... [PICKINGLISTID] [varchar](100) COLLATE Cyrillic_General_CI_AS NOT NULL CONSTRAINT DEFAULT (''), ... [TST_01] AS ([PickingListId] collate SQL_Latin1_General_CP1251_CI_AS) ) ON [PRIMARY] Цитата:
select top 1 *
from SalesPickingListJournalLine l (nolock) join SalesPickingListJournalTable t (nolock) ON l.TST_01 = t.TST_01 order by t.TST_01 Цитата:
select top 1 *
from SalesPickingListJournalLine l (nolock) join SalesPickingListJournalTable t (nolock) ON l.PickingListId = t.PickingListId order by t.PickingListId Жаль, что только до первой синхронизации только помогут эти методы, конечно... ![]() Вот такой вот неординарный способ повышения производительности, получается - хранить данные в устаревшем collation... Жаль, никто не повторил опытов... ![]() ![]() |
|
Теги |
collation, sql server, производительность |
|
|