Аватар для ZetX
49 / 49 / 17
Регистрация: 23.02.2010
Сообщений: 437

Sybase 8: представление не использует индекс

03.05.2017, 16:02. Показов 828. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю такой запрос
SQL
1
SELECT * FROM VNS_1h WHERE station=37 AND datetime>'2017-01-05' AND datetime<'2017-01-06'
где VNS_1h - представление
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ALTER VIEW arch."VNS_1h" (
        station,
        datetime,
        davl_output,
        davl_input
    )
AS
SELECT 
        station,
        f_dateround('hh',datetime),
        avg(davl_output),
        avg(davl_input)
FROM VNS
GROUP BY station, f_dateround('hh',datetime)
Где f_dateround('hh',datetime) в дате отбрасывает минуты. У таблицы VNS есть индекс по полям station и datetime. Но запрос к индексу не обращается из-за f_dateround('hh',datetime). Как можно обойти проблему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2017, 16:02
Ответы с готовыми решениями:

В строке первый символ получает индекс 1, последний индекс 2, второй индекс 3, предпоследний индекс 4, третий индекс 5
В строке первый символ получает индекс 1, последний индекс 2, второй индекс 3, предпоследний индекс 4, третий индекс 5 и так далее. Теперь...

Не используется индекс на материализованное представление
Есть материализованное представление: create materialized view mat_view build immediate refresh on commit enable query rewrite ...

Intel GMA 4000 Не использует всю доступную графическую память, а использует только 32МБ
Здравствуйте. Взял ноутбук чисто для работы на i5 core, 6гб ддр3, intel gma 4000. Поставил старую игру ( Робин Гуд: Легенда Шервуда ),...

5
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 16:10
1) не использовать такую VIEW. Что мешает её "функционал" написать в запросе, в котором отобраны записи только за месяц?
2) дату и время хранить в раздельных полях
0
 Аватар для ZetX
49 / 49 / 17
Регистрация: 23.02.2010
Сообщений: 437
04.05.2017, 11:08  [ТС]
Цитата Сообщение от YuryK Посмотреть сообщение
1) не использовать такую VIEW. Что мешает её "функционал" написать в запросе, в котором отобраны записи только за месяц?
2) дату и время хранить в раздельных полях
Можно функционал реализовать в представлении, и что бы к индексу обращался? Т.к. программа отчетов уже есть, переписывать его будет сложнее, чем подправить представление.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
04.05.2017, 11:32
хотя что с использованием представления, что с использованием функционала представления в запросе должно работать одинаково, о чем это я. Хотя х.з. как там у вас в Sybase 8 устроено. Индекс должен использоваться при отборе в WHERE, а дольше, естественно, нет
0
 Аватар для ZetX
49 / 49 / 17
Регистрация: 23.02.2010
Сообщений: 437
04.05.2017, 11:36  [ТС]
Цитата Сообщение от YuryK Посмотреть сообщение
хотя что с использованием представления, что с использованием функционала представления в запросе должно работать одинаково, о чем это я. Хотя х.з. как там у вас в Sybase 8 устроено. Индекс должен использоваться при отборе в WHERE, а дольше, естественно, нет
Вот этот запрос отрабатывает как надо, используя индексы:
SQL
1
2
3
4
SELECT station,f_dateround('hh',datetime),      avg(davl_output),       avg(davl_input)
FROM vns
WHERE station=27 AND datetime>'2017-01-07' AND datetime<'2017-01-08'
GROUP BY station, f_dateround('hh',datetime)
Теперь это надо как то запихнуть в представление.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
04.05.2017, 13:33
Цитата Сообщение от ZetX Посмотреть сообщение
Теперь это надо как то запихнуть в представление.
зачем? Если запрос работает, а представление тормозит? Отчету какая разница, как получен набор данных?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2017, 13:33
Помогаю со студенческими работами здесь

Если известно десятичное представление числа 255, 7, то его двоичное представление
1. 11111111, 0111 2. 111111111,1110 3. 11111111, 111 4. FF, 3 5. 255, 111

Программа переводит строковое представление числа в числовое представление
Программа получает запись действительного числа в виде строки. Входная переменная, то есть, имеет тип данных String. Программа...

Перевести строковое представление числа в числовое представление
Программа получает запись действительного числа в виде строки. Входная переменная, то есть, имеет тип данных String. Программа переводит...

Заменить представление во всем коде БД на представление из другой БД
В базе было представление v_names. Во всех элементах базы в коде использовалось это название. Но теперь данные нужно брать из такого же...

SyBase и MySQL
подскажите, плиз, что лучше использовать для сайта, на котором есть каталог порядка 30000 позиций?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Тестирование Pull Request в Kubernetes с vCluster
Mr. Docker 19.07.2025
Часто сталкиваюсь с серьезной дилемой при настройке тестовых окружений для проверки Pull Request в Kubernetes. С одной стороны, каждый PR требует изолированной среды — только так можно гарантировать,. . .
Мой 7 минутный ролик с крамольным предложением про шахматы, предлагаю заценить
_Ivana 18.07.2025
p2UhJNMGY94
Десять Middleware Node.js для эффективного кодинга
Reangularity 18.07.2025
Когда я только начинал работать с Node. js, количество пакетов в npm меня буквально парализовало. Сегодня их больше 1,3 миллиона — попробуй разберись, что стоит твоего внимания, а что нет. Я потратил. . .
Context и глубины Android
mobDevWorks 18.07.2025
В Android разработки Context напоминает воздух - он везде, жизненно необходим, но мало кто может детально объяснить его природу. Мы привыкли получать его как параметр, передавать дальше и. . .
Результаты исследования от команды MCM (июль 2025 г.)
Programma_Boinc 18.07.2025
Результаты исследования от команды MCM (июль 2025 г. ) Как сообщалось в наших предыдущих публикациях, мы изучаем гены, которые имеют наибольший рейтинг и ассоциируются с различными видами рака, в. . .
ИИ-чатбот на React с OpenAI и LangChain.js
Reangularity 17.07.2025
React давно стал для меня золотым стандартом фронтенд-разработки. Его компонентная структура, виртуальный DOM и однонаправленный поток данных идеально подходят для создания динамичных интерфейсов. . .
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru