Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
Гопода, добрый день.
В наследство мне досталась базочка... Начал изучать структуру таблиц. Обнаружил, что на разных таблицах в полях типа char, varchar и т.п разные коллейшены. По этим полям происходит поиск из приложения. Короче, вопрос. Влияет ли скорость выполнения запросов в целом, если в базе зверинец колейшенов?
24 фев 15, 10:58    [17303653]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
NickVlad,

некоторые запросы вообще выполняться не будут без явного преобразования COLLATE прямо в запросе
Ещё неплохо бы посмотреть, совпадают ли COLLATE рабочей базы и tempdb
24 фев 15, 11:05    [17303715]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
iap,

Спасибо большое. Да, но что-то предпринимать надо. Забыл сказать, что СУБД MSSQL 2000 sp4.
А если тупо проапдейтить syscolumns на коллейшен, который стоит по дефолту в инстансе сервера? Это даст какой либо результат?
24 фев 15, 11:12    [17303756]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
NickVlad
Это даст какой либо результат?

увы, никакого по факту.
24 фев 15, 11:13    [17303775]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
Maxx,

Спасибо за ответ. А какие есть предложения?
24 фев 15, 11:16    [17303794]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Crimean
Member

Откуда:
Сообщений: 13148
iap
совпадают ли COLLATE рабочей базы и tempdb


вроде как не есть большая проблема. просто нужно учитывать при создании временных объектов
24 фев 15, 11:16    [17303799]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
Crimean,

нет. Абсолютно разные...
24 фев 15, 11:20    [17303831]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Crimean
iap
совпадают ли COLLATE рабочей базы и tempdb


вроде как не есть большая проблема. просто нужно учитывать при создании временных объектов
Напоминание об этом написать крупными буквами и повесить на видном месте!
24 фев 15, 11:20    [17303835]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
NickVlad,

.. с учетом того что все у вас работает....значит в запросах прописан колейшин в нагулю,скорее всего - посему .. яб тут как старом анегдоте - работает не трогай руками :)
Иначе здорово намучаетесь патом все приводить в рабочий вид..ИМХО
24 фев 15, 11:21    [17303855]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
Maxx,

приложения работают. Но как!!! Поиск по тектовому полю из 100 к записей около 15 минут!!!
24 фев 15, 11:23    [17303868]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
NickVlad
Maxx,

приложения работают. Но как!!! Поиск по тектовому полю из 100 к записей около 15 минут!!!
COLLATE виноват? Почему так решили?
24 фев 15, 11:25    [17303884]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
iap,

вот я и не знаю. поэтому и создал эту ветку. может и не туда копаю.
24 фев 15, 11:26    [17303895]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
NickVlad
iap,

вот я и не знаю. поэтому и создал эту ветку. может и не туда копаю.
Дык, запрос-то покажите!
И структуру таблиц командой CREATE TABLE
24 фев 15, 11:27    [17303902]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Павел-П
Member

Откуда:
Сообщений: 234
NickVlad,

Создайте таблицы-копии с правильным collation, залейте туда данные. И посмотрите, что будет с запросом.
Просто Вам все равно придется как-нибудь образом для себя решить действительно ли collation приводит к таким последствиям. Тут надо будет анализировать запрос и его план выполнения.
А может быть причина и не collation.
24 фев 15, 11:43    [17304046]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Crimean
Member

Откуда:
Сообщений: 13148
поиски небось сделаны как charindex() or charindex() or charindex() причем к связанным табличкам?
24 фев 15, 12:12    [17304332]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
NickVlad
Member

Откуда:
Сообщений: 7
Спасибо всем. Буду разбираться.
24 фев 15, 12:24    [17304436]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Crimean
поиски небось сделаны как charindex() or charindex() or charindex() причем к связанным табличкам?
Скрывает запрос почему-то
24 фев 15, 12:34    [17304517]     Ответить | Цитировать Сообщить модератору
 Re: Collation  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
NickVlad,

такой винегрет с collation приведет к тому, что в запросах придется приводить строковые поля с разными collation к одному collation: a.stringField = b.stringField collate Cyrillic_General_CI_AS , что приведет к невозможности использовать поиск по индексу на данном строковом поле. Так что разные collation конечно влияют на скорость выполнения запросов. К сожалению победить эту проблему простым способом нельзя, кроме как изменять Collation для каждого "неправильного" поля, что на рабочем сервере вызовет массу блокировок. Плюс придется пересоздавать разные SCHEMABINDING обьекты завязанные на эти таблицы.
24 фев 15, 15:27    [17305744]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить