|
|
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
IQ 12.7 Вопрос по поводу использования индексов. Есть таблица. Простыня. В ней допустим есть одно поле flat varchar(10) - квартира, которая может хранить и "1", и "11", и "1а" и т.д Допустим при вводе в поиске в клиентском приложении 1 - надо найти 1, 1а, но не 11,12 и т.д. (Такое ТЗ). Код: plaintext Построил HG индекс. ="1" - успешно юзает этот индекс Вопрос - что надо для второго условия? Ни HG индекс, ни построенный WD индекс не используются. Код: plaintext Приложил план в штмл. Если можно - любые интересные моменты по использованию индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 12:03 |
|
||
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 16:04 |
|
||
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
Хм. А в чем смысл? Нормально работает и мой запрос. Ваш длиннее. Суть не в этом, а в том - как заставить для like с масками работать WD индекс. По документации он как раз для лайков и сделан (и для contains). Но как видно из плана - используется дефолтный FP индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 16:49 |
|
||
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
мысли вслух HG используется для прамого равенства. WD - для LIKE(не для всех)/CONTAINS не пробовали убрать flat='1' и оставить только LIKE ? хотя скорее всего он все равно выберет FP (http://www.ribeiros.co.uk/documents/IQ_index_quick_reference.pdf) но в этом случае можно поиграться (ради интереса) с параметром сервера Index_Preference: 0 Let the optimizer choose 1 Prefer LF indexes -1 Avoid LF indexes 2 Prefer HG indexes -2 Avoid HG indexes 3 Prefer HNG indexes -3 Avoid HNG indexes 4 Prefer LD indexes -4 Avoid LD indexes 5 Prefer FP indexes -5 Avoid FP indexes у вас HG скомбинирован с WD ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 17:42 |
|
||
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
выдержка про индесы из SybaseIQWorkBook_v3.1 (это почему он выбирает FP) Fast Projection FP Default index, cannot be dropped. Useful for: Wildcard search - LIKE '%sys% Expression Calculation - SUM(A+B) Join Operations – matches up column values BIT datatypes Low Fast LF The index consists of a B-tree and data pages holding a bitmap for each distinct value Useful for: Search arguments in WHERE clause (=, !=, IN, Not IN) MIN or MAX aggregate functions GROUP BY clauses High Group HG This index will use the most disk space for storage and takes the longest time to load Useful for: Search arguments in WHERE clause (=, !=, IN, Not IN) GROUP BY clauses High Non Group HNG A non-value based bitmap ideal for operations involving ranges or aggregations Useful for: Ranges BETWEEN SUM( ) and AVG( ) functions Compare CMP Useful for: <, =, > in WHERE clause WORD WD Useful for: ‘CONTAINS’ query verb LIKE operator Date DATE Useful for DATE fields with: queries with range predicates (>, <, >=, <=, BETWEEN) queries with DATEPART using equality predicates (= !=). Time TIME Useful for TIME fields with: queries with range predicates (>, <, >=, <=, BETWEEN) queries with DATEPART using equality predicates (= !=). Datetime DTTM Useful for Datetime fields with: queries with range predicates (>, <, >=, <=, BETWEEN) queries with DATEPART using equality predicates (= !=). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 17:54 |
|
||
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
кстати, для колонки с номерами квартир будет достаточно компактый дистинкт, так что LF в этом случае рекомендуется больше, чем HG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2010, 18:07 |
|
||
|
Индексы в IQ
|
|||
|---|---|---|---|
|
#18+
Спасибо за линк! И за пояснения. После недолгих раздумий и борьбы решил сделать проще. На моменте занесения данных в базу - разрезать кватиры и дома на два поля - интовый номер (и сделать по нему HG или LF индекс) и все что после номера - заносить в проефикс. По второму полю юзать дефолтный FP индекс. По идее такая реализация даст максимальный эффект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2010, 16:51 |
|
||
|
|

start [/forum/topic.php?fid=55&gotonew=1&tid=2010716]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 260ms |

| 0 / 0 |

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