powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Еще раз про Rushmore
5 сообщений из 5, страница 1 из 1
Еще раз про Rushmore
    #34275394
Arshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Много перечитал, но чего-то видимо не дошло до меня.
так что если повторюсь извините.


Вот что выдает функция SYS(3054,12)

SELECT * FROM tov LEFT OUTER JOIN TOVS ON shitov = shitove INTO CURSOR aaaaaaa
Rushmore optimization level for table tov: none
Rushmore optimization level for table tovs: none
Joining table tov and table tovs using index tag Shitove

Вопрос: Это нормально или можно достичь надписи Full вместо none, или я что-то не учел. индексы по полям shitov и shitove есть.
Спасибо!
...
Рейтинг: 0 / 0
Еще раз про Rushmore
    #34275690
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первые две строки - это уровень оптимизации в директиве WHERE для фильтров по каждой из таблиц-источников. Поскольку директивы WHERE вообще нет, то уровень оптимизации none - вполне нормально. Нет предмета для оптимизации.

Третья строка - это уровень оптимизации условия объединения по JOIN. Он показывает, что используется индекс Shitove

Вообще-то, урвень оптимизации и скорость выполнения запроса, конечно, связанны между собой. Но связь не настолько однозначная. Иногда полная оптимизация может приводить не к ускорению, а к замедлению выполнения запроса. Реальный критерий - практика. Если запрос выполняется быстро, то зачем тебе пытаться добиться полной оптимизации?
...
Рейтинг: 0 / 0
Еще раз про Rushmore
    #34275755
Arshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все познается в сравнении.
делаю через local View. Но тоже самое в SET RELATION TO работает намного быстрее.
Хотелось такую же скорость и local View. Если это возможно.
...
Рейтинг: 0 / 0
Еще раз про Rushmore
    #34275926
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET RELATION - это выборка "по требованию". Отбор записей подчиненной таблицы происходит только в момент установки указателя записи в главной. По сути, это выбор ОДНОЙ записи главной таблицы и соответствующих ей записей подчиненной.

Применительно к Local View это запрос вида

Код: plaintext
1.
2.
SELECT * FROM tov LEFT OUTER JOIN TOVS ON shitov = shitove INTO CURSOR aaaaaaa  ;
WHERE shitov = 'Код_Товара'

Вот ЭТОТ запрос будет выполняться очень быстро. Сопоставимо по скорости с RELATION.

Совершенно бессмысленно пытаться закачать в Local View ВСЮ исходную таблицу. Здесь оптимизации не может быть в принципе. Цель оптимизации - это ускоренный отбор ЧАСТИ записей.

Результат работы Local View - это курсор. Т.е. таблица. По сути, копия (выборка) из исходной таблицы. Если объем этой выборки сопоставим по объему с исходной таблицей, то о каком ускорении может идти речь?
...
Рейтинг: 0 / 0
Еще раз про Rushmore
    #34276151
Arshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Разобрался. надо было делать не LEFT OUTER JOIN a RIGTH OUTER JOIN тогда используется индекс Shitov
скорость значительно возросла.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Еще раз про Rushmore
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]