Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 21.02.2015
Сообщений: 1

Выборка координат в указанной области PostgreSQL

21.02.2015, 14:56. Показов 1808. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PostgreSQL 9.4. Только знакомлюсь с постгрес. Задача следующая. Есть таблица point: description(text) - описание, long(int) - широта, lat(int) - долгота. В таблице >5 миллионов записей. long + lang - только уникальные комбинации. Запрос к таблице: long >= значение AND long <= значение2 AND lat >= значение3 AND lat <= значение4 само собой выполняется очень долго. Прошу помощи по индексам. Какой тип индекса тут подойдет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2015, 14:56
Ответы с готовыми решениями:

C и PostgreSQL. Выборка данных
Доброе время суток уважаемые пользователи! Пытаюсь сделать выборку из базы данных postgresql. Использую libpq. Проблемма того рода....

Выборка из базы данных postgreSQL
Здравствуйте товарищи программисты не могли ли бы вы мне ответить на такой вопрос. Есть база данных в postgreSQL в php я осуществляю...

PostgreSQL выборка всех записей из таблицы
При выборе из таблицы по запросу: SELECT * FROM public.&quot;Tasks&quot;; Выводит только одну запись, а там их три! Php файл: ...

1
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
22.02.2015, 04:06
Поидее должен помочь обычный b-tree индекс.

SQL
1
2
3
4
5
6
7
8
9
10
CREATE TABLE test_point
(
  description text,
  lon INTEGER,
  lat INTEGER
);
 
CREATE INDEX test_point_idx
  ON test_point
  USING btree (lon, lat);
Тогда для

SQL
1
2
SELECT * FROM test_point
WHERE 1 <= lon AND lon <= 5 AND 1 <= lat AND lat <= 6;
план запроса будет

Code
1
2
"Index Scan using test_point_idx on test_point  (cost=0.15..8.25 rows=1 width=40)"
"  Index Cond: ((1 <= lon) AND (lon <= 5) AND (1 <= lat) AND (lat <= 6))"
Но у меня нет ваших 5 миллионов записей, поэтому нужно дальше смотреть на плане, что происходит.

И еще:
1. использование слов point, long и так далее может быть проблематичным, так как они встроены в postgres.
2. для геометрических типов есть возможносто использовать gist индексы, если вы будете использовать эти ти пы для хранения геометрических данных
http://www.postgresql.org/docs... types.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2015, 04:06
Помогаю со студенческими работами здесь

Заполнить матрицу в указанной области
Данная действительно квадратная матрица размерности N. Заполнить матрицу в заштрихованной области единицами, в не самом заштрихованной -...

Принадлежит ли точка указанной области
Дана точка на плоскости с координатами (x, y). Составить программу, которая будет выводить на экран одно из сообщений «Да», «Нет», «На...

Выборка записей максимально приближенных к указанной дате
Ситуация следующая. MS SQL, таблица dbo.Details с полями dID (bigint), wID (bigint), dDateRecord (datetime), ...

Определить принадлежность точки указанной области
Записать выражение, зависящее от координат точки X и Y и принимающее значение TRUE (t или 1), если точка принадлежит выделенной...

Проверить принадлежность точки указанной области
3. Для задачи 2 записать выражение, зависящее от координат точки X1 и Y1 и принимающее значение TRUE, если точка принадлежит заштрихованной...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru