www.map-info.ru :: Просмотр темы - Поиск по таблице
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Nick4



Зарегистрирован: 15.10.2011
Сообщения: 95

СообщениеДобавлено: Пн Окт 27, 2014 11:06 am    Заголовок сообщения: Поиск по таблице Добавить ответ со ссылкой на данный текст

Есть ли в MI (или может что то придумать) для поиска текста в индексированном поле списка без графических объектов. Список довольно объёмный, поэтому поиск должен быть быстрым. Результат - номер строки в списке.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Пн Окт 27, 2014 4:38 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Создать индекс на поле и поиск запросом вида
... where поле = значение
По-моему выдает вполне нормальный результат. Тип поля какой? Если строка, то длина?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Nick4



Зарегистрирован: 15.10.2011
Сообщения: 95

СообщениеДобавлено: Пн Окт 27, 2014 5:07 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

запросом невозможно определить номер строки в списке. Списки более 1000000 записей и select выполняется довольно долго. Find работает гораздо быстрее, но требует присоединенный графический объект. Я присоединяю точку, но бывает find глючит и при поиске не видит объект, соответственно ищет чего попало.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Окт 27, 2014 10:45 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

индексы по поисковым полям точно сделаны? можно показать текст выполняемого sql-запроса, который дает плохую производительность?
Да, действительно, получить внутренний идентификатор записи (Row_Id) после выполнения select невозможно, но если есть такая задача, то может завести в исходной таблице некое служебное поле с идентификатором?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
thegeo



Зарегистрирован: 17.01.2012
Сообщения: 119

СообщениеДобавлено: Пн Окт 27, 2014 11:35 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Если работа с картой не нужна, тогда учитывая что файл DAT это по сути таблица DBF можно непосредственно с ней и работать. Через script-ы или в NET подготовить соответствующую функцию. Насколько это будет эффективно нужно проверять. Учитывая большой объем данных и возможно выполнение не одного, а пакета запросов к одной таблице возможно в этом и будет смысл.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Nick4



Зарегистрирован: 15.10.2011
Сообщения: 95

СообщениеДобавлено: Пт Окт 31, 2014 9:44 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

thegeo писал(а):
Если работа с картой не нужна, тогда учитывая что файл DAT это по сути таблица DBF можно непосредственно с ней и работать. Через script-ы или в NET подготовить соответствующую функцию. Насколько это будет эффективно нужно проверять. Учитывая большой объем данных и возможно выполнение не одного, а пакета запросов к одной таблице возможно в этом и будет смысл.


Вот я тоже смотрел в эту сторону. Расковырять формат индексного файла и обыкновенным поиском (алгоритмов хватает). Если кто знает формат данных и индексного файла, прошу поделиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru