powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / drop index для временной таблицы
6 сообщений из 6, страница 1 из 1
drop index для временной таблицы
    #32835569
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выполнении такого скрипта ASA 9.02 при удалении индекса выдает ошибку , что индекса с именем ix не существует.
create table #t
( a int );
create index ix on #t (a asc);
drop index #t.ix;

Это баг, фича или моя кривизна?
...
Рейтинг: 0 / 0
drop index для временной таблицы
    #32835603
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BOLDROP INDEX cannot be used to drop an index on a local temporary table. An attempt to do so will result in an Index not found error.
Так что это получается фича.
...
Рейтинг: 0 / 0
drop index для временной таблицы
    #32835608
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати а зачем его удалять то ? При выходе из блока по любому времянка будет автоматически удалена вместе с индексами. Мне кажется гораздо важнее, что его можно создавать в процессе работы.
...
Рейтинг: 0 / 0
drop index для временной таблицы
    #32835645
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет удаления, - это целый гемор. Есть одна табличка, которая по сути задет дерево
т.е.
table_екуу
(
id int,
id_parent int,
value int
)
Есть еще одна табличка tree_nodes, где задан набор узлов id1, id2 ...
Эти id могут принадлежать как корню дерева, так его отдельным ветвям и листьям, лежать на разных уровнях, могут принадлежать одной ветви. Нужно получить всех потомков заданых узлов на всех уровнях дерева.
Делаю я это итерационно с помощью временных таблиц опускаясь на каждом шаге от родителей к потомкам и записывая всех потомков во временную таблицу.
Для повышения скорости этой мутной байды каждый раз когда веду поиск всех потомков, мне полезен индекс для временной таблицы, а когда я делаю вставки в эту таблицу, мне индекс не нужен, т.е я хотел пересоздавать индекс перед выборкой и убивать его перед вставкой.
В общем такая заморочка....
...
Рейтинг: 0 / 0
drop index для временной таблицы
    #32835696
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создание/удаление индекса очень дорогостоящая операция (опять же это прописано в BOL). Вызывать эти операции постоянно - однозначно только снижать скорость работы.

авторНужно получить всех потомков заданых узлов на всех уровнях дерева.
Делаю я это итерационно с помощью временных таблиц опускаясь на каждом шаге от родителей к потомкам и записывая всех потомков во временную таблицу.
В данном случае лучше наверное воспользоваться рекурсивным запросом. Гораздо легче, эффективнее (оптимизатором будет использоваться RECURSIVE алгоритм) и можно спокойно вычислить для каждого нода глубину вложенности и его путь.
...
Рейтинг: 0 / 0
drop index для временной таблицы
    #32835758
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AscrusСоздание/удаление индекса очень дорогостоящая операция (опять же это прописано в BOL). Вызывать эти операции постоянно - однозначно только снижать скорость работы.
Верно,но есть и другая крайность - массовая вставка большого кол-ва данных в индексируемцю таблицу также снижает скорость. Поэтому экспериментально приходится определять на имеющихся данных что более выгодно - иметь падение скорости на вставке или падение скорости на пересоздании индекса.

Насчет RECURSIVE спасибо, не знал. Правда на начальном этапе осовоения ASA я пока не рискую использовать Watcomовские расширения. Люблю TSQL-ную дубовость ;-)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / drop index для временной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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