Чтение записи без use-index

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
valun
Старожил
Сообщения: 49
Зарегистрирован: 04 авг 2007, 12:48
Контактная информация:

Чтение записи без use-index

Сообщение valun » 06 сен 2016, 14:44

Добрый день !

Появилась проблема (Progress v.10.1B03) чтения записи без use-index вероятно вследствии описанного бага [url]http://knowledgebase.progress.com/articles/Article/P164132​[/url].
Сделал movetable в multi-user в другую область таблицы с 1,6 млн записей в надежде на то, что образутеся дырка и новые записи будут использовать "видимую" область значений recid. Но этого не произошло. Нужно сделать какие-то дополнительные манипуляции с таблицей, индексами, .... ?

Спасибо.

Аватара пользователя
Arelav
Администратор
Сообщения: 1881
Зарегистрирован: 25 мар 2005, 17:05
Откуда: Progress Technologies
Контактная информация:

Re: Чтение записи без use-index

Сообщение Arelav » 06 сен 2016, 18:02

Боюсь, что если вы наткнулись именно на тот случай, что описан в статье, то иного решения, как в ней указано, нет.

Вопрос, на всякий случай, эта "другая область" в формате Type-II ? Область новая? В ней нет каких-то других объектов базы?
Индексы таблицы тоже в отдельной области Type-II?

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Чтение записи без use-index

Сообщение George » 06 сен 2016, 22:38

valun писал(а):Появилась проблема (Progress v.10.1B03) чтения записи без use-index

В чем конкретно состоит проблема?

вероятно вследствии описанного бага

На чем основывается предположение о возможной связи между проблемой и указанным багом?

Сделал movetable в multi-user в другую область таблицы с 1,6 млн записей

Речь идет о переносе таблицы, которая НЕ используется в "проблемном" запросе?
Интересны характеристики таблицы, которая используется в запросе, и характеристики области, в которой она лежит.

Но этого не произошло.

Может потому, что исходное предположение оказалось ошибочным?

valun
Старожил
Сообщения: 49
Зарегистрирован: 04 авг 2007, 12:48
Контактная информация:

Re: Чтение записи без use-index

Сообщение valun » 07 сен 2016, 09:29

Arelav писал(а):Боюсь, что если вы наткнулись именно на тот случай, что описан в статье, то иного решения, как в ней указано, нет.

Вопрос, на всякий случай, эта "другая область" в формате Type-II ? Область новая? В ней нет каких-то других объектов базы?
Индексы таблицы тоже в отдельной области Type-II?



Да, область Type-II, область старая, в ней только таблицы, индексы отдельно лежат от таблиц

valun
Старожил
Сообщения: 49
Зарегистрирован: 04 авг 2007, 12:48
Контактная информация:

Re: Чтение записи без use-index

Сообщение valun » 07 сен 2016, 09:45

George писал(а):
valun писал(а):Появилась проблема (Progress v.10.1B03) чтения записи без use-index
В чем конкретно состоит проблема?

Когда ищешь конкретную запись в виде for each <имя табл> where .... no-lock. - ничего не находит.
Когда при том же условии for each <имя табл> where .... no-lock use-index aaa. - запись находит.
вероятно вследствии описанного бага

На чем основывается предположение о возможной связи между проблемой и указанным багом?

Recid записей, которые не находятся запросом без явного использования индеса имеют значение порядка 2161923080

Сделал movetable в multi-user в другую область таблицы с 1,6 млн записей

Речь идет о переносе таблицы, которая НЕ используется в "проблемном" запросе?
[/quote] Да, я перенес таблицу с колличеством записей 1,6 млн в другую область и в оставшейся "проблемной" таблице создал запись. Recid у нее все равно создался > 2 млрд. А когда сделал D/L этой таблице и снова создал запись в ней, то она стала порядка 1,7 млрд. Однако создавая записи в других таблицах этой области их Recid остаются в старом диапазане > 2 млрд.
Интересны характеристики таблицы, которая используется в запросе, и характеристики области, в которой она лежит.
[/quote]

d "OTHER Area":10,256;64 ......
А какие именно характеристики таблицы ? кол полей, индексов ?

Но этого не произошло.

Может потому, что исходное предположение оказалось ошибочным?[/quote][/quote]

valun
Старожил
Сообщения: 49
Зарегистрирован: 04 авг 2007, 12:48
Контактная информация:

Re: Чтение записи без use-index

Сообщение valun » 07 сен 2016, 16:02

Неправду сказал, в области все в кучу и данные и индексы...

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Чтение записи без use-index

Сообщение George » 07 сен 2016, 17:07

valun писал(а):d "OTHER Area":10,256;64 ......
А какие именно характеристики таблицы ? кол полей, индексов ?


RPB 256 - такое значение и спровоцировало проблему.

По таблице интересно количество записей. Какую часть от объема области она занимает? Можно ли её вынести в отдельную область? Вынос из этой области относительно небольших объектов если и поможет, то разве что случайно и ненадолго. Нужны радикальные решения.

valun
Старожил
Сообщения: 49
Зарегистрирован: 04 авг 2007, 12:48
Контактная информация:

Re: Чтение записи без use-index

Сообщение valun » 07 сен 2016, 17:18

George писал(а):
valun писал(а):d "OTHER Area":10,256;64 ......
А какие именно характеристики таблицы ? кол полей, индексов ?


RPB 256 - такое значение и спровоцировало проблему.

По таблице интересно количество записей. Какую часть от объема области она занимает? Можно ли её вынести в отдельную область? Вынос из этой области относительно небольших объектов если и поможет, то разве что случайно и ненадолго. Нужны радикальные решения.



Ясно.
Мы создадим новые области и сделаем tablemove всем таблицам из проблемной области. Индексы сложим отдельно и проблема уйдет.

Спасибо.

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Чтение записи без use-index

Сообщение George » 07 сен 2016, 17:31

И если нет возможности проапргрейтить версию Progress'а, то RPB для новой области лучше привязывать к тем таблицам, которые будут перенесены в эту область.