На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Разработка баз данных / Поиск в Большой БД: Сделать домашней страницей Добавить в избранное Написать писмо

Поиск в Большой БД:


»»» Pavlik (06.07.00 14:41)
Подскажите, пожалуйста, как быстрее всего осушествлять поиск записи в БД(более 200000 записей).
Тип БД - DBase.
Индексы в таблицах отсутствуют, т.к. все записи разные.

»»» Mike Goblin - mgoblin@mail.ru (07.07.00 12:50)
Думаю, что методом Locate. А насчет индексов очень рекомендую подумать

»»» kingdom - kingdom@trepkom.ru (08.07.00 21:34)
Индексы нужны ОДНАЗНАЧНО, я не понимаю что значит записи разные ? Залезаешь в свою базу и создаешь индексы (т.е. сортировку в каждому полю) и все у тебя летать будет (ну должно наверное, я такой юольшой базы никогда не видел). Так что поясни пожалуйста проблему...

»»» Sergei - Sergei@polisma.net (10.07.00 17:52)
Все записи разные, это значить, что для таблицы справидлива реляционная алгебра (не нужно создавать дополнительное поле, чтобы сделать записи уникальными). Но для ускорения работы вы должны определиться, какой конкретно поиск часто используется и ускорить его с помощью соответствующего индекса. Лишние индексы создавать не нужно, так как скорость работы уменьшится.

»»» Max - Max_Heavy@yahoo.com (22.07.00 13:19)
200 тыс. рекордов не так уж и много, но Locate-м можно извратится, хотя лучше всего Query-гой. И насчет индекса ты лучше подумай. А то ведь хрен его знает этот DBF.  

-= Из конференции сайта MASTERS OF DELPHI (http://delphi.mastak.com) =-

Комментарий от Steel (steel@rulezzz.dp.ua)
Не такая уж это и большая БД. Я делаю очень сложные выборки (например letf outer join с другой не менее маленькой табличкой), из таблицы, в которой сейчас более 600 000 записей.... и ниче, время до минуты... Ну конечно это и не DBase, а SQL Server. Но смысл всеравно остается в индексах.
Правильно поставь индекс по полю которым искать будешь, и сортировать, будет скорость - совершенно нормальная.
Только учти, чем больше индексов, и чем они сложнее (например индекс по строковому полю исессно больше и медленнее) тем дольше будет вставка в базу. А выборка по индексу практически всегда быстрее. Тут надо найти оптимальный вариант, который зависит только от режимов работы БД, ее структуры и выборок, которых из нее делают чаще всего.
И еще подумай над првильной организацией таблицы.

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz