Быстродействие после Join

0 голосов
спросил 06 Май, 10 от user71 (200 баллов) в категории Программные продукты Esri
Есть большой feature class улиц, таблица с уникальными номерами отрезков улиц и названиями улиц.
Если делаем Join, чтобы пользователь видел названия улиц - SDE работает очень медленно (5 секунд перерисовка - без Join 1сек).

Какая может быть причина в настройках SDE
или как можно показывать названия улиц по-другому. (Может в другом слое)?

20 Ответы

0 голосов
ответил 06 Май, 10 от pooperec (10,820 баллов)
Вы случаем не 9.3.1 SP1 пользуетесь?
0 голосов
ответил 07 Май, 10 от PITKS1 (20,860 баллов)
Поля по которым происходит Join должны быть проиндексированы. Но все равно медленнее будет. Проще создать отдельный слой с добавленными названиями. 
0 голосов
ответил 09 Май, 10 от user71 (200 баллов)
to pooperec

"Вы случаем не 9.3.1 SP1 пользуетесь?"

Как вы догадались? Действительно 9.3.1 SP1.
0 голосов
ответил 10 Май, 10 от pooperec (10,820 баллов)
user71

По сравнению с 9.3.1 (без SP1) производительность упала ощутимо, у меня точечный слой 90 000 точек, рисуется в 4 раза медленнее (правда, тоже миллисекунды, но "осадочек" остается), и мне заметно "на глаз"...
0 голосов
ответил 10 Май, 10 от pooperec (10,820 баллов)
PITKS

Вопрос "в воздух" (так, чтобы сбросить "напряжение"), скажите, а как мне в таблице добавиться колонки из других таблиц, значения в которые подставляются из 3,4,5 таблиц?

Особенно если учесть, что ArcSDE соизволило научиться создавать представления (Views), но не научилась их редактировать?!
0 голосов
ответил 12 Май, 10 от Grigoriy (127,020 баллов)
Вопрос сразу встречный где делается Join - на сервере или клиенте?
Какой тип поля используется для объединения?
И вообще на какой СУБД?
Подписываем названия улиц автоматом (Maplex)?
А ArcSDE соизволило научиться создавать представления (Views) уже лет десять как назад image
0 голосов
ответил 12 Май, 10 от pooperec (10,820 баллов)
Если встречный вопрос ко мне (относительно последнего поста).

То:
Так как join на сервере не дает редактировать (удалять/добавлять записи), то он делается на стороне клиента.
Поле для объединения integer.
Вообще СУБД - MS SQL Server 2008.
Названия не подписываются (для скорости).

А ArcSDE соизволило научиться создавать представления (Views) уже лет десять как назад, это конечно круто, но вопрос в том когда оно научиться их:
1. Редактировать.
2. Создавать Join из двух (и больше) однотипных геометрий .

Уж очень этого хочется... Не то чтобы прожить без этого не могу, но хотелось бы...

Или я чего-то незнаю про Views? Или уже умеет она делать всё выше приведенное?
0 голосов
ответил 12 Май, 10 от TDenis (42,620 баллов)
Представления - это хорошо. А редактировать как?

Слой улиц - полилинии от перекрёстка до перекрёстка. Каждой полилинии приписан код.
Есть таблица, где кодам ставятся в соответствие названия улиц.
Join позволяет редактировать, идентифицировать и подписывать.
Подскажите, какие есть варианты лучше, чтобы пользователю не приходилось вводить названия (иначе будет то "Ул. Советская", то "Ул.Советская", то "Cоветская ул." с первой буквой на английском, не уследишь за всеми). Выбирать из длиннющего списка домена? Представление?
0 голосов
ответил 12 Май, 10 от pooperec (10,820 баллов)
Denis

А что именно подразумеваеться под "редактировать"?
0 голосов
ответил 12 Май, 10 от TDenis (42,620 баллов)
Рисовать улицы, присваивать им названия.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...