|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
Есть процедура в которой создается виртуальная таблица Код: plaintext 1. 2.
могу ли я сделать индекс(ы) в таблице #tab1 ? если да, то как? когда пробовал, сайбейс начинал ругаться что ему не нравится и он будет делать оптимизацию по-своему ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2011, 15:56 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
Imperous, читать второй пункт (точка) в общем - можно создавать индексы на временные таблицы, но не в данной процедуре ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2011, 17:29 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
On 13.04.2011 16:56, Imperous wrote: > select много всяких полей > into #tab1 > from table1 > > > могу ли я сделать индекс(ы) в таблице #tab1 ? > > если да, то как? create index, не поверишь. > когда пробовал, сайбейс начинал ругаться что ему не нравится и он будет делать > оптимизацию по-своему Как ругаться -то ? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 11:17 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
On 13.04.2011 18:29, komrad wrote: > читать второй пункт (точка) > < http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc20020_1251/html/databases/databases644.htm> > > в общем - можно создавать индексы на временные таблицы, но не в данной процедуре Я думаю, это немного устаревшая информация. Ерик Майнер в форуме по P&T клялся и божился, что какой-то там schema version counter при create index модифицируется и это заставляет следующие запросы, использующие эту временную таблицу, НА ХОДУ В ПРОЦЕССЕ ВЫПОЛНЕНИЯ ПРОЦЕДУРЫ пересоздать их планы выполнения. Так что надежда есть на то, что индекс должен использоваться даже при создании таблицы и индекса В ЭТОЙ ЖЕ САМОЙ хранимой процедуре. Надо пробовать. К тому же ещё можно просто форсануть индекс, лучше это делать по номеру. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 11:21 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
MasterZivК тому же ещё можно просто форсануть индекс, лучше это делать по номеру. для этого индекс необходимо не только создать (при этом уже знаем его имя!), но и получить его номер, а это дополнительное действие ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 11:23 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
On 14.04.2011 12:23, komrad wrote: > для этого индекс необходимо не только создать (при этом уже знаем его имя!), но > и получить его номер, а это дополнительное действие Тут есть один хитрый финт. Если индекс один, и кластерный, его номер 0. Если индекс один и некластерный, -- его номер 1. В принципе и остальные номера вычисляются. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 11:26 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
MasterZivТут есть один хитрый финт. Если индекс один, и кластерный, его номер 0. Если индекс один и некластерный, -- его номер 1. В принципе и остальные номера вычисляются. ух ты! запишу себе в книжечку ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 13:29 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
Проверено! Индекс используется! ASE 15.5 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
план|ROOT:EMIT Operator (VA = 1) | | |SCAN Operator (VA = 0) | | FROM TABLE | | #tmp | | Index name not found. | | Forward Scan. | | Positioning by key. | | Using I/O Size 16 Kbytes for index leaf pages. | | With LRU Buffer Replacement Strategy for index leaf pages. | | Using I/O Size 16 Kbytes for data pages. | | With LRU Buffer Replacement Strategy for data pages. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 14:33 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
On 14.04.2011 15:33, cherrex_Den wrote: > Проверено! Индекс используется! ASE 15.5 Видите, не обманул значит Эрик. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2011, 16:35 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
ничо не понимаю, думаю сделаю похожую хранимку на ту которую делал и приведу вам пример и хранимки и того как сайбейс говорит что ему это не нравится, но блин хранимка создалась и отработала как надо и никаких сообщений сайбейс не дал... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2011, 13:32 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
вот, у меня получилось добиться того чтоб оптимизатор забил болт на индекс смотрим тут ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2011, 11:33 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
Imperous, Так надо не по имени, а по номеру форсировать индекс (index 1) к примеру 0 if a table 1 if a clustered index on an allpages-locked table >1 if a nonclustered index or a clustered index on a data-only-locked table (т.е. с 2 нумерация начинается) 255 if text, image or Java off-row structure (LOB structure) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2011, 12:19 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
не совсем понял делаю так: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2011, 12:59 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
Imperous, Ну, видимо в Вашей процедуре написано так - Код: plaintext 1. 2. 3. 4. 5.
в обоих случаях будет использовать индекс. Проверяется вторым запуском процы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2011, 14:39 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
А на версии 15.0.2 нормально хватает 2-й по номеру индекс. В общем по номеру, я так понял не надёжно, в разных версиях ASE ведет себя по разному. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 12:00 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
Да кстати после 2-го запуска процедуры индекс используется судя по времени, хотя и пишет 'Index name not found.' ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 12:25 |
|
Индекс на виртуальную таблицу (ase 12.5)
|
|||
---|---|---|---|
#18+
On 12.05.2011 13:00, JenyaD wrote: > А на версии 15.0.2 нормально хватает 2-й по номеру индекс. > В общем по номеру, я так понял не надёжно, в разных версиях ASE ведет себя по > разному. Знаешь ли, хинты -- они вообще в принципе не обязаны работать. Оптимизатор может их принимать, а может и нет. Это ж ХИНТЫ ! Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 14:10 |
|
|
start [/forum/topic.php?fid=55&gotonew=1&tid=2010338]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 358ms |
total: | 510ms |
0 / 0 |