|
|
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
Было замечено, что с тестовыми полями длиной порядка 34 символов плохо работает Sybase IQ. В таком поле хранится расчетный счет состоящий из цифр и символов. При большом количестве записей долго работает like по маске для счетов и т.п. В качестве решения проблемы было придумано добавить еще одно числовое поле в 35 знаков, где первый символ будет 1. Это поле заполняться апдейтом из счета путем замены символов на нуль и добавление спереди 1. Пример: счет А212121212121212121212С станет 102121212121212121212120 и уже по второму полю можно уже работая с числами получать нужные выборки конвертируя маски для выборки тоже в числа. Может есть идеи получше как ускорить работу Sybase IQ с тестовыми полями и поиском по ним ? Добавления хайгруп и нонгруп индексов проблемы не решило. Заранее спасибо за идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 18:43 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
test_dp, Попробуйте построить WD индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2009, 17:40 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
забыл парольtest_dp, Попробуйте построить WD индекс. Не то. WD индексы используются для поиска ключевых слов в тексте. А в описанном случае текстовое поле - цельный идентификатор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 10:21 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
test_dp, Так а что тогда ищем через LIKE? Пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 11:21 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
Пример. Есть таблица с текстовым полем varchar(20). Запросы: поле like '1200%', поле='12001123456789' отрабатывают на порядок дольше чем тот же ASE с индексом по этому полю. Причем проблема проявляется именно при увеличении длины строки. На полях с короткими char(например 3-5 символов) поиск проходит быстро (быстрее ASE). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 13:10 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
test_dp, Для условия поле like '1200%' ASE внутри преобразовывает запрос в вид: поле >= '1200' and поле < '1201' и использует индекс естественно. Попробуйте выполнить в IQ условие в таком виде с HG или HNG индексом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:12 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
поле содержит кроме цифр и буквы - как ASE тогда выкручивается ? Маска может быть на любой фрагмент поля - не обязательно сначала и тоже содержать и буквы и цифры ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 16:38 |
|
||
|
вопрос по работе с текстовыми полями в Sybase IQ 12.6
|
|||
|---|---|---|---|
|
#18+
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). Давайте не мешать в кучу поиск по что-то% и на поиск %что-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 17:03 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=32&tid=2010806]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 359ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...