powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / вопрос по работе с текстовыми полями в Sybase IQ 12.6
9 сообщений из 9, страница 1 из 1
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36355143
test_dp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Было замечено, что с тестовыми полями длиной порядка 34 символов плохо работает
Sybase IQ. В таком поле хранится расчетный счет состоящий из цифр и символов.
При большом количестве записей долго работает like по маске для счетов и т.п.

В качестве решения проблемы было придумано добавить еще одно числовое поле в 35 знаков,
где первый символ будет 1. Это поле заполняться апдейтом из счета путем
замены символов на нуль и добавление спереди 1.
Пример: счет А212121212121212121212С станет 102121212121212121212120
и уже по второму полю можно уже работая с числами получать нужные выборки
конвертируя маски для выборки тоже в числа.

Может есть идеи получше как ускорить работу Sybase IQ с тестовыми полями и поиском по ним ?
Добавления хайгруп и нонгруп индексов проблемы не решило.
Заранее спасибо за идеи.
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36357337
test_dp,

Попробуйте построить WD индекс.
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36358374
test_dp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл парольtest_dp,

Попробуйте построить WD индекс.

Не то. WD индексы используются для поиска ключевых слов в тексте. А в описанном случае текстовое поле - цельный идентификатор.
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36358547
test_dp,

Так а что тогда ищем через LIKE? Пример?
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36358892
test_dp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример. Есть таблица с текстовым полем varchar(20). Запросы: поле like '1200%', поле='12001123456789' отрабатывают на порядок дольше чем тот же ASE с индексом по этому полю. Причем проблема проявляется именно при увеличении длины строки. На полях с короткими char(например 3-5 символов) поиск проходит быстро (быстрее ASE).
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36359238
test_dp,

Для условия поле like '1200%' ASE внутри преобразовывает запрос в вид: поле >= '1200' and поле < '1201' и использует индекс естественно.
Попробуйте выполнить в IQ условие в таком виде с HG или HNG индексом.
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36359512
test_dp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поле содержит кроме цифр и буквы - как ASE тогда выкручивается ?
Маска может быть на любой фрагмент поля - не обязательно сначала и тоже содержать и буквы и цифры ?
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36359577
test_dp,

А он не выкручивается. Он даже для чисел в СТРОКЕ берёт не следующее число, а следующий символ, который идёт по коду в таблице символов. Если пример написать, то может что-то типа такого:

declare @str varchar(30)
select @str='120G'
select @str as lower_bound, left(@str,length(@str) -1 ) + CHAR(ASCII(right(@str,1)) + 1) as upper_bound

А вот по поводу маска на любой фрагмент поля, а это я понимаю %что-то%, то у меня возникают очень основательные сомнения, что ASE использует в этом случае индекс ПО ЭТОМУ ПОЛЮ (если это не index covered scan).
Давайте не мешать в кучу поиск по что-то% и на поиск %что-то.
...
Рейтинг: 0 / 0
вопрос по работе с текстовыми полями в Sybase IQ 12.6
    #36359842
test_dp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну фиг с ним с лайком а почему равно тормозит ?
where pole="полноезначение" - тормозит а на ASE нет
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / вопрос по работе с текстовыми полями в Sybase IQ 12.6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]