![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| RadmiR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Скажите пожалуйста, как я понимаю, при работе с БД и выводе данных в TreeView, эти данные необходимо хранить в массиве или промежуточном файле? Или организация хранения данных может быть иная?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
можно в массиве, можно и в файле... можно и другую органзицию использовать...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
А зачем еще и отдельно хранить???
-------------------- ![]() |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 1 Всего: 34 |
Я лично делаю специально специфические контейнеры для хранения. Просто, быстро, удобно. Потом по ним строю дерево. |
|||
|
||||
| RadmiR |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Просто хотелось бы, чтобы "из дерева" эти данные могли изменяться...
А как удобнее и БЫСТРЕЕ? |
||||
|
|||||
| aktuba |
|
||||||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Т.е. ты считываешь данные из БД в контейнер, а потом уже строишь дерево. Верно? А зачем? Для чего такие потери скорости? Да и где "просто, быстро, удобно"??? Покажи!!!
А что мешает это делать без использования левых массивов или файлов?
Непосредственно в БД. -------------------- ![]() |
||||||
|
|||||||
| RadmiR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
Насколько я понимаю, необходимо хранить id в каком-либо поле, например, в поле Дата узла дерева? |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Да, примерно так. А еще лучше - используй VirtualTreeView. Возможностей значительно больше + есть надстройка над VT именно для работы с БД. -------------------- ![]() |
|||
|
||||
| RadmiR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.12.2006 Репутация: нет Всего: нет |
А что такое ВТВ? Это дополнительный компонент или стандартный?
|
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Дополнительный. Почитай вот это
|
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 1 Всего: 34 |
В зависимости от задачи! Если жизненный цикл твоих данных равен всему приложению, то как быть??? А как быть с BLOB полями? Все естественно зависит от задачи. Но большинство задач которые мне приходилось решать оптимально решались в две транзакции. Одна при старте, другая при закрытии. А про потери в скорости лучше не говори. Зависит от задачи. Иногда поиск по контейнеру (если организовать как хэш) на порядки быстрее будет проходить чем обход по БД. П.с. В специфике моей работы время затраченное на открытие и закрытие транзакции неприемлемо. Приблизительно в 5 раз превышает норму. Так что RadmiR все зависит от того что нужно тебе! А организовать можно как тебе угодно. Это сообщение отредактировал(а) Mephisto - 4.4.2007, 09:44 |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Такой подход полезен, когда база используется только как хранение инфы (т.е, замена обычным файлам). При использовании частого изменения данных в базе, при нескольких пользователях, использующие одну базу - такой подход в принципе не правильный, т.к. получаются огромные затраты на считывание и запись данных. Самое оптимальное - прямое использование базы. А насчет поиска - хеш обычно организовывается в самой базе в отдельной таблице. Вот тебе и вопрос - где будет быстрее, в контейнере, который еще и организовать надо или в отдельной таблице непосредственно в базе... -------------------- ![]() |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 1 Всего: 34 |
Согласен. Слушай, а ты это из первого поста понял что именно так и происходит? Там написано что дерево строится. Да и вообще динамическая деревяха это сильно. |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
-------------------- ![]() |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 1 Всего: 34 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |