![]() |
|
Модераторы: LSD |
![]()
|
|
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Через модуль написанный на C# вызывается функция из БД по добавленюю новой записи в таблицу, которая индексируется. Вопрос: как теперь проиндексировать вновь добавленную запись?
ALTER INDEX <index> REBUILD - слишком долгий и работает со всеми данными, а не с только что добавленными. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Как вы узнали что она не проиндексировалась при вставке? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Zloxa, есть функция выборки из БД, если бурать у неё условия по работе с индексами - все данные вываливаются кучей, а если оставить - ничего не добавляется, до тех пор не проделаешь ALTER INDEX REBUILD
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Я не смог себе представить такую функцию, чтобы если из нее "убрать условия по работе с индексами" то она вываливала бы кучу.
Попробуйте объяснить как для дебила. Последовательно, с примерами. Добавлено @ 12:25 Почитал Вашу прежнюю ветку. Там тоже ничего не понятно. Вы коммитить(commit) данные вместо ребилда индекса пробовали? Дело в том, что alter index это DDL команда, которая помимо всего прочего фиксирует транзакцию. Т.о. если без выполнения этой команды вы не видите данных, весьма вероятно, что просто забыли зафиксировать транзакцию. Это сообщение отредактировал(а) Zloxa - 26.1.2009, 12:27 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Zloxa, Вы правы, мне сложно описать процесс, мне по-наследству достался движок от сайт больших размеров и я потихоньку пытаюсь с ним разбираться и естественно плохо могу объяснить.
Вот про комминт, расскажите, plz. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Есть процедура добавления:
И функция выбора из БД:
Всё это вызывается из модуля написанного на C#. Я так понимаю: есть таблица индексов, которая связана с CATALOG, в которую в первой процедуре добавляем новую запись. А во второй функции мы извлекаем записи по некоторым условиям. Мне думается, что после добавления данных индексы не обновляются, потому что новые данные по такой выборке не возвращаются до тех пор, пока не будет произведено "ALTER INDEX REBUILD". Как мне проиндексировать новую инфу? Это сообщение отредактировал(а) Rickert - 27.1.2009, 10:51 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Видится мне, Вам не правильно думается.
В ранее упомянутой мной ветке, вам это втолдычить пытались много раз. Наличие или отсутствие индекса не влияет на результат выборки, только на способ ее выполнения. Добавляете и извлекаете данные вы в разных сессиях? Ребилд индекса вы делаете в какой сессии, в той, которой добавляли? В сессии, из которой добавляли запись вы фиксировали транзакцию? Мне видится, вы абсолютно не понимаете что такое индексы. Почитайте про них Тут Пример Вашей функции "выбора из БД" - классический пример иллюстрации кода, за который DBA должны бы убить программистов. Тут, когдато я пытался объяснить почему. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Вроде да.
Напрямую: захожу на серве и в Navigator'е создаю sql скрипт. Всмысле COMMIT ? Да, пробовал.
Реализованно не мной, повторяю. Я бы вообще не использовал Оракл. Но за ссылки спасибо, почитаю. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
И? После коммита вы не увидели тех данных, которые вставили? CATALOG это таблица или представление( покажите результат select object_type from all_objects where object_name = 'CATALOG')? Триггеры на CATALOG есть(select * from all_triggers where table_name = 'CATALOG')? Покажите select owner,index_name,table_name,status,partitioned,funcidx_status from all_indexes t where table_name = 'EL_ETALON' Добавлено @ 12:17 А вот это глубоко пофиг, могли бы вообще не упоминать об этом. Вы уж решите для себя, что вам более важно - поконючить или же разобраться. Если второе, помогу чем смогу, если первое, уж какнить без меня плиз. Этим вы показываете сколь не интересна вам начатая вами же тема? Ну и как вам помогать после этого? Это сообщение отредактировал(а) Zloxa - 27.1.2009, 12:18 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
||||||||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Нет, не увидел также.
Результат нулевой. А что такое представление?
Судя по нулевому результату - тоже нет
Опять ничего.
Прошу прощения, вы правы. Для меня важно разобраться -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||||||||
|
|||||||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Запрос нужно производить от имени пользователя-владельца схемы, либо от имени пользователя, которому даны права на просмотр целевой схемы. Я забыл заменить имя таблици в посте... замените на ваш CATALOG. Пока мы не найдем этот объект в схеме, и не поймем что это за объект, что либо думать - бессмысленно. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Результат в аттаче. Присоединённый файл ( Кол-во скачиваний: 9 )
res.jpg 16,24 Kb-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Вы вставляетесь в CATALOG.
Индекс вы показали на таблицу CATALOG223_ Что такое CATALOG?
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: нет Всего: 52 |
Сорри, имя CATALOG я дал чтобы вы не заморачивались с названием. реальное имя в базе CATALOG223_NODE. Но это не важно, я подменял как надо.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |