Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.011 c
2-1146333488
sarafat
2006-04-29 21:58
2006.05.21
http


2-1147003224
Интересующийся
2006-05-07 16:00
2006.05.21
Delphi и 64-бита


15-1145917789
Гость, однако!
2006-04-25 02:29
2006.05.21
Логотип


15-1145770978
GrayFace
2006-04-23 09:42
2006.05.21
Assebler: call near ptr - актуально ли слово "near"?


4-1139121673
Aladin
2006-02-05 09:41
2006.05.21
tv tuner





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский