У меня есть гигантские данные из более чем 2500000000 записей, распределенных между 10 столами в дерби. В каждой таблице есть два столбца «флораNfauna» и «местоположения». Теперь я должен найти определенную «флоруNfauna», найденную в определенных «местах», поэтому я использую запрос «select» с «like», например. «выберите * из таблиц, где floraNfauna нравится («% рыбы% ») и таких мест, как («% мелководных вод% »)»; и для получения результатов, которые считаются ниже 1000, требуется несколько дней. После поиска я обнаружил, что «полнотекстовый поиск» будет лучшим и быстрым подходом к этому. Можете ли вы помочь мне с примером?Derby: Поиск по всему тексту
0
A
ответ
0
Во-первых, вы должны рассмотреть возможность индексирования таблицы. Вот SO link, который определенно поможет узнать больше о Зачем индексировать таблицу БД.
Подробнее о Adding Indexes to a table.
Во-вторых, если вы используете централизованную базу данных, то обязательно подумайте об обновлении конфигурации вашего сервера.
Спасибо, надеюсь, что это поможет.
0
Derby прекрасно сочетается с Lucene, которая является полнотекстовой поисковой системой.
Подробнее об этом здесь: http://wiki.apache.org/db-derby/LuceneIntegration
Каков размер ОЗУ на сервере/шт. Просьба также указать подробную информацию о таблице. 'desc' – mustangDC
Система имеет 4 ГБ Ram с двухъядерным процессором с тактовой частотой 2,1 ГГц. Таблицы имеют только два столбца, каждый из которых сначала «floraNfauna» varchar (50), а второй - «местоположения» varchar (100). –
2500000000 Огромный .. Вам нужно серьезно подумать об обновлении своей памяти и, самое главное, индексировать таблицу ... – mustangDC