Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146

Ускорить выполнение запроса

21.12.2014, 19:35. Показов 3401. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нужна помощь.
Есть некий запрос по нескольким таблица, среди которых есть таблица с миллионом записей. Таблица постоянно пополняется. Примерно примерно 1000 записей в сутки или больше.
Запрос по всей таблице естественно долго отрабатывает. К тому же результат выводится на страницу.
Я хочу отобрать только первые 10 записей.
Как это лучше сделать, что бы страница не тормозила.
Тут две проблемы.
1. Сортировка. Отложим пока её.
2. Отбор записей.
Для отбора использую rownum<11
Но почему-то запрос всё равно работает очень долго. То есть что есть rownum что нет, одно и тоже время выполнения. Результаты естественно есть 10 записей.
Как поступить в таком случае: сделать запрос по большой таблице и отобрать первые 10 записей, предварительно отсортированной. При этом что бы время работы запроса не было мучительно большим.
Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2014, 19:35
Ответы с готовыми решениями:

Ускорить выполнение запроса
Народ! Запарился. Есть две таблицы: objects и params. objects - 1750000 записей, params - 12000000 записей в objects нас интересуют...

Как ускорить время выполнения запроса
Здравствуйте, как можно ускорить данный запрос: SELECT id, surname, CASE WHEN ball &lt; 60 THEN 'Низкий' WHEN ball BETWEEN...

Залипает выполнение запроса
Всем добрый день. Oracle 11g + SQLDeveloper Проблема: Выполняю скрипт, он просто висит. SQL Developer не выдает ни какой ошибки....

2
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
22.12.2014, 10:13
По критерию отбора д.б. индекс, иначе выполняется full scan таблицы, что естественно долго.
Если этого будет недостаточно, то можно посмотреть в сторону секционирования таблицы (partitioning).
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 40
23.12.2014, 15:01
в Toad (10) использую хинты для ускорения типа

SQL
1
2
SELECT --+ full(T1) parallel(T1 4) full(T2) parallel(T2 4)
...
где T1 и T2 - аллиасы тех таблиц, которые участвуют в соединениях (Join).
Выигрыш, конечно, не в 4 раза (число в parallel можно увеличить - но при достижении опред. числа становится уже хуже), но скажем, вместо часа получается работа - 20 минут.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2014, 15:01
Помогаю со студенческими работами здесь

Ускорить выполнение запроса
Строк всего то 3к-4к. Выполняется больше секунды с сортировкой. Без сортировки 1 мс. Юзается 3-4 left join explain говорит Using...

Ускорить выполнение запроса
Есть следующая таблица | squidcache | CREATE TABLE `squidcache` ( `id` bigint(11) NOT NULL AUTO_INCREMENT, `LOG_DATE` date...

Ускорить выполнение запроса
Добрый день! Есть таблица в которой 30 000 записей. Во второй таблице содержится 10 000 записей. Нужно добавить в 3ю таблицу...

Помогите ускорить выполнение запроса
Помогите ускорить выполнение запроса: SELECT Clients.Id_Client, dbo.udf_ONI(,.,) AS , ...

Как ускорить выполнение запроса Firebird
Здравствуйте, использую БД firebird 2.5, Delphi xe2, fibplus + ehlib Таблица SALE ID(integer) - счетчик , TID(integer) - ID товара, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru