Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> странности с сортировкой 
:(
    Опции темы
Sleepy_PIP
Дата 3.11.2005, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: нет
Всего: 12



вообщем такое дело
есть запрос:
Код

select i.suid, i.title_russian, w.suid w_suid 
from  
inventory i

inner join wares w on(i.suid=w.uid_issue )

where 
w.uid_section='MS-SEC-BOOKS'
and 
(
i.title_russian like('Ïß%')
or i.title_english like('FA%')
or i.title_translit like('DF%')
or w.product_number like('A20%')
)
order by i.suid


_все_ используемые поля - индексированы.
Статистика сброшена. (с ней или без нее - разницы в сути нет, см. далее).
колл-во селектируемых строк - около 85к

в табличках по ~350к записей в каждой.

если не ставить order by - время запроса + первых 10 фетчей - менее секунды.

индексы и данные живут в разных таблспейсах.

если-же поставить order by - план не сильно меняется (ну обрасляется сортировкой).
И тут начинается. запрос виснет на долго. совсем на долго.
По монитору в Ent. Manager Console - идут непрерывные чтения из именно таблспейса с данными. типа фул скан. Из индексного таблспейса при этом почти (ну в 100-200 раз) ничего не читается.

и как быть?

Навести статистику вряд-ли реально предлагать - пробовал и с ней. и с RULE и COST и с INDEX(INVENTORY, PK_INVENTORY) - ничего состояние дел не меняет.


В чем-же дело? что такого в запросе по _всем_ индексным полям во всех частях запроса при сортировку внуждает активно читать именно данные, а не индексы???
Спасибо!




--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
<Spawn>
Дата 5.11.2005, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 1
Всего: 64



Дак а ты что думал, что 85к записей за пару секудн отсортируются? Попытайся уменьшить получаемый набор данных.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
LSD
Дата 6.11.2005, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата
Дак а ты что думал, что 85к записей за пару секудн отсортируются?

Это вовсе не большой набор данных, на моей домашней машине select из таблицы в 100000 записей и fetch первых 20 идет 0,47 сек, в этом запросе время конечно больше будет но не минуты же.

Посмотри в v$sql сколько чтений физических и логических производится для запроса с order by и без него.

Это сообщение отредактировал(а) LSD - 6.11.2005, 00:56


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.