может ли кластеризация увеличить производительность?

DВА
Дата: 23.03.2011 12:20:05
verter
Я исхожу из следующих соображений:

1. Если заменить старый сервер на новый или добавить на старый сервер памяти, то запрос будет выполняться быстрее, т.е. производительность возрастёт
2. У Oracle есть технология (RAC, распараллеливание или ещё какая-то, о которой я не знаю) которая позволяет объединить несколько серверов в один кластер таким образом, чтобы oracle работал со всеми серверами как с единым мощным серврером, т.е. объединял в единый массив всю их память

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



Ну если вы ответите на вопрос за счет чего в пункте 1 запрос станет работать быстрее, то тогда и получите ответ, станет ли он работать быстрее в условиях кластера.
Сергей Арсеньев
Дата: 23.03.2011 14:49:07
ORA__SQL
И что это меняет? Просмотр всей таблицы VS Просмотр всего индекса

Не совсем так,
Просмотр всей таблицы VS Просмотр всего индекса, а затем чтение все таблицы в память и работы только с нужными строками.
ORA__SQL
Дата: 23.03.2011 15:04:29
Сергей Арсеньев
ORA__SQL
И что это меняет? Просмотр всей таблицы VS Просмотр всего индекса

Не совсем так,
Просмотр всей таблицы VS Просмотр всего индекса, а затем чтение все таблицы в память и работы только с нужными строками.

А зачем нам читать всю таблицу? По rowid, полученным из индекса, прочитаем только нужные стороки из таблицы.
TABLE ACCESS BY ROWID не подразумевает полный просмотр таблицы
Богдан Гоцкий
Дата: 23.03.2011 15:31:41
Я что-то пропустил? Оракл умеет использовать индексы в like '%...%' ? Oб Oracle Text умолчу.
Сергей Арсеньев
Дата: 23.03.2011 15:35:40
ORA__SQL
TABLE ACCESS BY ROWID не подразумевает полный просмотр таблицы

По шагам.

1. В блоке 200 строк.
2. В каждой сотой есть слово "%вася%"
3. вася размазан равномерно - т.е. есть в каждом блоке.
4. Да из блока мы будем брать только две строки на основании ROWID, но блоки то понадобятся все - ORACLE не умеет читать часть блока.

Поэтому вам и написали, п. 4.
ORA__SQL
Дата: 23.03.2011 16:05:11
Сергей Арсеньев
1. В блоке 200 строк.

Ну это может в тестовом примере.
Я же оговорился, что
ORA__SQL
Если индекс по столбцу значительно меньше таблицы

Тогда будет выигрыш по количеству прочитанных блоков.
Сергей Арсеньев
Дата: 23.03.2011 16:21:53
ORA__SQL
ORA__SQL
Если индекс по столбцу значительно меньше таблицы

Тогда будет выигрыш по количеству прочитанных блоков.

В приведенном мной примере индекс будет меньше таблицы, а количество считанных блоков больше (индекс+таблица).

Но суть не вэтом, спрашивали, может ли RAC помочь при fullscan запросе. Причем автоматически.