Oracle - Почему SELECT * FROM Foo; так медленно?

Я работаю над некоторыми проблемами производительности Oracle с нашим веб-приложением. Одна вещь, которую я заметил, которая, кажется, запутывает любые тесты, заключается в том, что простые запросы, которые возвращают много результатов, все еще очень медленные. Один из примеров:

select * from TPM_PROJECTWORKGROUPS;

Когда я запускаю его, я получаю:

 5825 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 59s] 

 [Executed: 9/22/2011 1:52:38 PM] [Execution: 203ms] 

Если я правильно понимаю, это означает, что фактический запрос занял 203 мс для выполнения, но потребовалось 59 секунд, чтобы эти данные были возвращены клиенту, в том смысле, что было ли в данном случае «Fetch» ​​средством?

У меня нет доступа для прямого подключения к компьютеру с базой данных и локального выполнения запроса, но можно ли предположить, что виновата сама фактическая пропускная способность сети? Это имеет смысл, поскольку я нахожусь в Сиэтле, а сервер в Нью-Йорке, но все же минута для 5800 строк кажется довольно медленной.

Есть ли какой-нибудь быстрый совет для а) подтверждения того, что пропускная способность сети действительно является проблемой и б) каких-либо «ошибок» или вещей, которые нужно проверить, почему сериализация данных по сети так медленна? Спасибо!

Несколько обновлений на основе комментариев:

ВЫБРАТЬ СЧЕТЧИК (*) ИЗ (выбрать * из TPM_PROJECTWORKGROUPS) t;

Результаты:

 1 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 0ms] 

 [Executed: 9/22/2011 2:16:08 PM] [Execution: 219ms] 

И если я попытаюсь выбрать только один столбец:

ВЫБРАТЬ ПРОЕКТИД ИЗ TPM_PROJECTWORKGROUPS;

Результаты:

Выбрано 5825 записей [Извлечь метаданные: 0 мс] [Извлечь данные: 1 мин 0 с]

[Выполнено: 9 / 22/2011 14:17:20 PM] [Выполнение: 203 мс]

Схема таблицы:

PROJECTID (NUMBER) WORKGROUPID (NUMBER)

7
задан Mike Christensen 22 September 2011 в 21:23
поделиться