Извлечение данных - производительность со столбцами CLOB в Oracle - PullRequest
2 голосов
/ 12 августа 2010

У меня есть таблица в Oracle, в которой в настоящее время хранится около миллиона записей. В этой таблице 2 столбца CLOB, в которых хранятся данные XML. У меня также есть экран поиска, созданный для этой конкретной таблицы, где пользователи могут искать практически по всем столбцам, кроме столбцов CLOB.

Теперь вот мои вопросы -

Предполагая, что у меня есть правильные индексы для часто используемых столбцов поиска, влияет ли наличие столбцов CLOB в таблице на производительность при поиске записей в таблице?

Допустим, если я переместу эти 2 столбца CLOB в новую таблицу и определю отношение к ее родительской таблице с помощью первичного ключа, улучшится ли это с точки зрения поиска и извлечения записей.

Дайте мне знать.

1 Ответ

5 голосов
/ 12 августа 2010

LOB (включая CLOB) могут храниться как в строке, так и вне ее. Встроенное хранилище является более нормальным для небольших CLOB (например, когда типичные значения могут составлять несколько сотен байтов, но со случайными записями в несколько тысяч). Подробнее здесь

Хранилище вне линии соответствует тому, что вы говорите о переносе этих объектов CLOB в новую таблицу. Так что не беспокойтесь об этом и, если это поможет, просто используйте опцию «DISABLE STORAGE IN ROW».

Что лучше? Это зависит. Если этого не произойдет, то Oracle выберет лучшее и не даст вам выбора другого.

Хранение inline означает, что каждая строка занимает больше места, поэтому в вашем кэше памяти может быть меньше строк, что означает, что вам нужно чаще обращаться к диску, что медленнее. Хранение их по отдельности означает, что когда вам нужны эти столбцы, вам нужно получить дополнительные блоки данных, вероятно, с диска, а не из кэша, и это будет медленнее.

Если вы часто используете CLOB, и они невелики, то вам, вероятно, лучше в ряду.

Но зачем хранить XML как CLOB, а не XMLType?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...