Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.05.2004, 11:53
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
Надо озадачить сервер! Озадачить - это значит: Надо хранить на сервере 100 тыс. полилиний и их точки. Для запроса надо получить только те линии, которые входят/видны на экране. Т.е. надо Габарит линии сравнить с габаритом (TRect) экрана. Можно вычислять на клиенте, на сервере при выходе, на серв. записывать в доп.поле при входе. Что выбрать? Если сейчас всё делает клиент без всякой БД и медленно. Теоретически - вычислять площадь фигуры из 2-3 тыс.точек надо динамически, каждый раз при получении этой фигуры из сервера. Но это огромная работа. Проще/или нет записывать её для каждой фигуры в допполе на сервере. Тогда вопрос - а вдруг сервер загнётся это вычислять от 10 пользователей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 13:34
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
Я бы сделал так для каждой фигуры (например, полилинии) у нас есть точки (например 4 штуки), кот. однозначно опрделяют габарит и положение. Т.е. есть две таблицы Figures( id_fig Number, name VarChar2(200)); Points( id_points Number, id_fig Number, x Number, y Number) Points.id_fig >>>------< Figures.id_fig и селект для выбора всех входящих в облать(min_x,min_y; max_x,max_y): select * from Figures f, Points p where f.id_fig = p.id_fig and p.x >= :min_x and p.x <= :max_x and p.y >= :min_y and p.y <= :max_y Все будет шустренко работать, если нужные поля проиндексировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 13:54
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
Вы предлагаете каждую точку в виде записей? Если их порядка 100тыс. в формате Double/float на 1 млн. объектов (В КАЖДОМ!) - полилиний, то не проще хранить массив точек в виде двоичного буфера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 14:42
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
У вас как полилиния описывается?? Я предлагал каждую полилинию описывать двумя точками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 14:57
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
2 bas ????? Полилиния - набор связанных отрезков или ломаная линия. Для рисования на DC Win API требуется массив точек - buffer (можно взять и записать в двоичное BLOB поле). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 15:04
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
Хорошо, Тогда в таблице можно хранить массив точек в Blob - поле в таблице Figures, а таблице Points хранить 2 точки прямоугольника(правый верхний и нижний левый углы), кот. занимает эта ломаная. И когда нужные фигуры вытащили селектом, то их уже из блоба рисуете. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 15:11
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
2 bas Следовательно - зачем нам 2 таблицы 1<---------->1 (один к одному)? Делаем одну - id, name, blobpoint, gabarit. Вопрос - gabarit - вычисляемое поле. Как и где и каким языком вычислять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 16:43
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
На счет двух таблиц - я в общем случае сказал, т.к. точек, опред. габариты м.б. более (сложная форма) или менее(точка) 2ух. Если в вашем случае, то можно обойтись и одной таблицей, но я бы не советовал (м.б. потом габариты будете как сложный объект определять, тогда не подойдет эта схема). Короче, в вашем случае, в таблице Figures становится такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. и селект: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 16:51
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
В селекте только вместо or надо поставить and... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 17:17
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
"...Хранимые процедуры Перенос хранимых процедур – это наиболее трудоемкий процесс, т.к. придется переписывать все целиком. Но в правильно спроектированном трехзвенном приложении роль ХП должна быть сведена к минимуму. Основные трудности возникают при переводе ХП, возвращающих результирующий набор. Часть из них (не содержащие сложной бизнес-логики) может быть переведена в разряд представлений (view). Для остальных можно либо создавать временные таблицы на уровне соединения с СУБД, либо создавать постоянные таблицы и разграничивать данные в них по идентификатору подключения (SPID) (но тогда не забывайте их чистить :)). Если же вы решите ограничиться только MSSQL2000, то можете использовать тип "таблица" для возврата набора значений из процедуры. ..." (c) http://www.rsdn.ru/article/db/midas_migration.xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.05.2004, 09:24
|
|||
|---|---|---|---|
Хранимые это всегда не Delphi? COM нельзя "прикрутить"? |
|||
|
#18+
Все ваши проблемы уже решались много лет назад. Поищите информацию о пространственных БД (в т.числе пространственных навесках на стандартные СУБД) и пространственной индексации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1546450]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
128ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 432ms |

| 0 / 0 |
