Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Выбор СУБД   Найти похожие ветки 

 
xman ©   (2006-04-27 11:06) [0]

Здравствуйте...помогите определится в выборе СУБД.
Хочу написать программку-справочник. В ней будет очень много записей и при попытках реализовать ее с компонентами ADO(msAccess), при создании более 20000 записей, программа при запуске долго открывает БД.
Какую мне СУБД выбрать или может есть способы ускорить процесс открытия базы компонентами ADO.
Программка маленькая и хочется что бы пошурику можно было открыть ее, глянуть в справочник и закрыть :)...

Win2k, Delphi7

спасибо за внимание ;)


 
McSimm ©   (2006-04-27 11:09) [1]

Что значит "открывать БД" ?


 
McSimm ©   (2006-04-27 11:10) [2]

Если вы все 20000 записей читаете при запуске программы, то выбор СУБД - не совсем тот вопрос, о котором надо задумываться


 
Calm ©   (2006-04-27 11:10) [3]

может индексы?


 
XMAN ©   (2006-04-27 11:15) [4]

McSimm: т.е. когдa ADO.ACTIVE:=TRUE; , тогда и происходит задержка )

Calm: Я так понял что индексы помогают при поиске...


 
Игорь Шевченко ©   (2006-04-27 11:16) [5]

McSimm ©   (27.04.06 11:10) [2]

Вот я только что прочитал 20000 записей (в StringList) - мгновенно :))


 
XMAN ©   (2006-04-27 11:18) [6]

McSimm [2] : я сделал так что при старте, большинство записей отфильровуется...но все же, если записей будет больше и больше...я думаю около 100 000 )...тогда и при фильре будет сложно

Да и вторая задачка...файл.mdb уже около 150 мегабайт...тоже не совсем удобно при копировании


 
Danilka ©   (2006-04-27 11:18) [7]

[3] Calm ©   (27.04.06 11:10)
выборка из одной таблицы справочника с 20к записями пройдет на ура и без всяких индексов.
Присоединяюсь к [2], нефиг все качать на клиента, только то, что он попросит.


 
XMAN ©   (2006-04-27 11:20) [8]

>>Вот я только что прочитал 20000 записей (в StringList) - мгновенно :))
согласен...но при поиске..каждую строку обрабатывать не интересно ))...я так с самого начала и начинал ...думал стринглист устроит


 
McSimm ©   (2006-04-27 11:20) [9]


> ADO.ACTIVE:=TRUE;

это что ? table, query, dataset ?

--
Пользователь не может прочитать 20000 записей, значит и программе это не нужно.


 
XMAN ©   (2006-04-27 11:23) [10]


> это что ? table, query, dataset ?

пардон Query


> Пользователь не может прочитать 20000 записей, значит и
> программе это не нужно.
согласен, но иногда нужно что бы в таблице отобразились все записи и вот тогда...приходится долго ждать


 
Vlad ©   (2006-04-27 11:24) [11]


> XMAN ©   (27.04.06 11:18) [6]
> McSimm [2] : я сделал так что при старте, большинство записей
> отфильровуется...но все же, если записей будет больше и
> больше...я думаю около 100 000 )...тогда и при фильре будет
> сложно
>
> Да и вторая задачка...файл.mdb уже около 150 мегабайт...
> тоже не совсем удобно при копировании


Смотря как фильтровать. Если с помощью SQL запроса и наличии необходимых индексов - то моментально.
А про 150 мегабайт не понял, что именно неудобно?


 
Sergey13 ©   (2006-04-27 11:29) [12]

2[10] XMAN ©   (27.04.06 11:23)
> согласен, но иногда нужно что бы в таблице отобразились все записи
Зачем? Можешь пример привести?


 
Vlad ©   (2006-04-27 11:29) [13]


> согласен, но иногда нужно что бы в таблице отобразились
> все записи и вот тогда...приходится долго ждать


попробуй CursorLocation = clUseServer


 
XMAN ©   (2006-04-27 11:30) [14]


> А про 150 мегабайт не понял, что именно неудобно?

я думаю что для справочника это немного большой размер


 
McSimm ©   (2006-04-27 11:34) [15]


> иногда нужно что бы в таблице отобразились все записи

это заблуждение, рожденное от, извините, батонокидательства.
имеющиеся компоненты навязывают большинству програмистов интерфейс, вот и появляются гриды с десятками и сотнями тысяч записей.
как вы собираетесь это все читать ?


 
Игорь Шевченко ©   (2006-04-27 11:36) [16]

McSimm ©   (27.04.06 11:34) [15]


> вот и появляются гриды с десятками и сотнями тысяч записей.


В гриде всего 18-20 записей :))


> как вы собираетесь это все читать ?


С правой стороны есть удобная полоса прокрутки :))


 
XMAN ©   (2006-04-27 11:38) [17]


> как вы собираетесь это все читать ?


пользователь это читать не собирается...
программа выбирает то что нужно...отфильровует и показывает в визуально...но в некоторых случаях для показа нужного результата приходится отключать фильтр...


 
Плохиш ©   (2006-04-27 12:03) [18]


> пользователь это читать не собирается...
> программа выбирает то что нужно...отфильровует и показывает
> в визуально...но в некоторых случаях для показа нужного
> результата приходится отключать фильтр...

Странный какой-то справочник или реализатор.

Скажите, что обсуждается в этой ветке? А то видно только разговор слепого с глухим.


 
Rule ©   (2006-04-27 12:15) [19]

незнаю что там в адо, но у меня допустим в ФБ 150 тыщ записей каждая из 15 полей, половина которых варчаровые ... так вот полный фетч этих записей занимает 3 секунды ...


 
MsGuns ©   (2006-04-27 14:05) [20]

>XMAN ©   (27.04.06 11:38) [17]
>...отфильровует и показывает в визуально...но в некоторых случаях для показа нужного результата приходится отключать фильтр...

Представим картинку:
Семья собралась на шашлык в ближайшую рощу. Для пикника тащит холодильник с мясом и овощами, а также всю имеющуюся мебель для сиденья и лежания, включая кровати и надувные матрасы.
Для приготовления "фильтрует" содержимое холодильника, выбирая только мясо, лук и помидоры. Когда шашлыки готовы, "фильтруется" мебель: пара кресел-качалок и один надувной матрас.

Крррасотишша !!!


 
Sergey13 ©   (2006-04-27 14:26) [21]

2[20] MsGuns ©   (27.04.06 14:05)
Не, сразу после обеда твой пример не впечатляет. Если бы пару часов назад - я бы слюной изошел. 8-)


 
Vlad ©   (2006-04-27 14:58) [22]


> MsGuns ©   (27.04.06 14:05) [20]

Вы приходите в библиотеку за каким-либо справочником, скажем Вас интересует значение... гравитационной постоянной.
Вы же не просите библиотекаря вырвать страницу из книжки, а просите целую книжку. Хотя нафига вам нужно листать лишние сотни страниц?


 
alex_*** ©   (2006-04-27 15:05) [23]

может для начала дать ADO.DisableControls() ?


 
Sergey13 ©   (2006-04-27 15:12) [24]

2[22] Vlad ©   (27.04.06 14:58)
А что бы прочитать в том спарвочнике про "значение... гравитационной постоянной" ты его будешь от корки до корки читать? Или по оглавлению нужное найдешь?


 
Vlad ©   (2006-04-27 15:19) [25]


> Sergey13 ©   (27.04.06 15:12) [24]

а никто не заставляет DBGrid читать от начала до конца. Сортируй данные как тебе угодно. Сделай механизм навигации, как это реализовано в Quantum Grid.


 
Desdechado ©   (2006-04-27 15:42) [26]

сначала формулирутся, что собственно ищем
потом делается отбор несчастных 10-100 строк
все это занимает минимум времени и памяти (кроме формулирования, которое у некоторых индивидуумов зависает или, поглощая все доступные ресурсы, приводит к рестарту системы)


 
homm ©   (2006-04-27 22:07) [27]

имхо все действительно проше. Не нужны все 20000 записей пользователю,
1) заранее узнаеш количество записей
2) устанадливаеш прогрессбар на это количество
3) в sql запросе limit прописываеш
4) при скролинге даеш новый зпрос с другим limit


 
Sergey Masloff   (2006-04-27 22:18) [28]

Да чего мелочиться. Лучше сразу конфигурируем Oracle Real Application Clusters. Только нужно межузловые каналы продумать. Можно конечно сразу аппаратные каналы памяти прикупить чтобы не париться. Сконфигурировать bigfile tablespaces и спишь спокойно - ты сделал все что мог ;-))


 
Sergey13 ©   (2006-04-28 09:34) [29]

2[28] Sergey Masloff   (27.04.06 22:18)
И главное не забыть мягкий диван в серверную. Так приятно полежать и полюбоваться на всю эту красоту. 8-)


 
MsGuns ©   (2006-04-28 13:18) [30]

>Vlad ©   (27.04.06 14:58) [22]
>Вы же не просите библиотекаря вырвать страницу из книжки, а просите целую книжку. Хотя нафига вам нужно листать лишние сотни страниц?

Сравнение неудачно. Ибо противоречит принципу атомарности сущностей БД ;)


 
Anatoly Podgoretsky ©   (2006-04-28 15:25) [31]

Просить надо 20000 книг



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.053 c
9-1129890438
JUS
2005-10-21 14:27
2006.05.21
Делаю игру на DelphiX,как задать управление джойстиком"геймпадом?


2-1146503783
Golik
2006-05-01 21:16
2006.05.21
DBLookupComboBox ???


1-1144417307
Steplerr
2006-04-07 17:41
2006.05.21
Сохранение данных TreeView


2-1146942749
дямак
2006-05-06 23:12
2006.05.21
опять я ламерю(sorry)


2-1146724155
Мурзилка
2006-05-04 10:29
2006.05.21
выпадающее меню у кнопки ToolButton1