|
|
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Вопросик: Access 2000 на форму помещаем стандартный TreeView заполняем его через RecordSet рекурсией ТОРМОЗИТ пробовали уйти от рекурсии, скорость не меняется!!!!!!!!1 тормоза теже!!!!! запрос для рекорсета возращает записи очень быстро В ЧЕМ МОЖЕТ БЫТЬ ПРОБЛЕМА??????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 09:00 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
в пятой строчке рекурсии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 09:16 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
а нафиг ты его рекурсией возвращаешь? делай усе запросами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 10:05 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
В смысле? Если имееш в виду пятый вызов, то нет... Всего четыре уровня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 10:11 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
В смысле - телепятов на вас не хватило ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 10:30 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Попробуй не сливать в тривью сразу все дерево, а только верхний уровень, или только до отображаемого узла. А по мере хождения по дереву - подкачивать требуемые записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 11:18 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Вообщем послушал и понял : либо всех все устраивает в TreeView либо никто ничего не знает (( Я хочу 1.залить всё дерево сразу 2.Приемлемое время выполнение данной операции 3. Наперед грубина дерева - неизвестна, поэтому рекурсия Моя прога по заливке данных: Dim qd As QueryDef Private Sub Form_Load() Call AddNodes("P0") End Sub Private Sub AddNodes(KeyParent As String) Dim rstCustomers As Recordset Set qd = CurrentDb.QueryDefs("zObjectLoad") qd.Parameters("Parent1").Value = KeyParent Set rstCustomers = qd.OpenRecordset Dim NodX As Node Do While Not rstCustomers.EOF With TreeView1.Nodes If KeyParent = "P0" Then '=============================корневой узел Set NodX = .Add(, , rstCustomers!KeyObject, rstCustomers!ObjectFullName) Else ' ==========================================дочерний узел Set NodX = .Add(KeyParent, tvwChild, rstCustomers!KeyObject, rstCustomers!ObjectFullName) End If End With Call AddNodes(rstCustomers!KeyObject) rstCustomers.MoveNext Loop rstCustomers.Close End Sub Что здесь может тормозить??????????? на 30 записях - 5 сек. 300 зап. 50сек. (((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 11:51 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Посмотри топик "об n мерных вложенных запросах..." там куча кода была причем MSовского то есть быстрее чем он работать не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:01 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
от запросов ничего независит ((( делал и одним запросом тормоза теже ((( может это TreeView тормозит????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:07 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
те грят: глянь топик, там не про запросы, там ВСЕ про ТРИВЬЮ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:09 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
ссылку или номер подскажи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:15 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Не пойму почему не можешь сделать с подкачкой? у меня в базе на текущий момент 24 категории и 133 записи с материалами причем материалы тоже рекурсивны. грузиться меньше чем за секунду. Если гружу всю базу то получается дольше но максимум было 2 сек. Это конечно не показатель с таким кол-вом данных. Но все равно дели загрузку. Проще потом будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:17 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
а почему вместо рекурсии нельзя просто пройтись по списку один раз, предварительно отсортировав его по уровням? сначала все 0 уровня, потом 1, ... и т.д. тогда при добавлении нодов все само сорганизуется, без всякой рекурсии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:24 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Привожу ссылку вместо Alexus12:\r \r /topic/30265 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 12:27 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
2nicename >Что здесь может тормозить??????????? на 30 записях - 5 сек. если убрать открытие рекодсета и перенести его (например) в событие Form_Load, то скорость выполнения увеличиться. 2sasha_1 >а почему вместо рекурсии нельзя просто пройтись по списку один раз, предварительно отсортировав его по уровням? тогда при добавлении нодов все само сорганизуется, без всякой рекурсии. Ишь ты какой хитрый :) Каким же образом отсортируешь по уровням, без ввода в таблицу избыточных данных? И вроде бы в топике про "n мерных вложенных запросах..." я указывал про возможную логическую ошибку и способе ее обхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 18:31 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
> Ишь ты какой хитрый :) Каким же образом отсортируешь по уровням, без ввода в таблицу избыточных данных? Отчего же. Можно и отсортировать. Если глубина вложенности ограничена. Только работать такой запрос не слишком быстро будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 18:40 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
2Geo Еще один хитрый :) - дерево и именно с ограниченным числом уровней. >Только работать такой запрос не слишком быстро будет :) Гони пример - я туплю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 19:15 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Сенин Виктор писалЕще один хитрый :) - дерево и именно с ограниченным числом уровней. а задолго до этого ему уже ответилиВсего четыре уровня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 19:27 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
2 Сенин Виктор Гони пример - я туплю! В случае "всего четырех уровней" - четыре подряд Left Join'а таблицы вхождений к самой себе выведут тебе всё дерево. И сортируй его как хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 19:32 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
2Сенин Виктор Для наглядности не буду собирать в один запрос. Кроме того, пишу на память, т.к. оригинал у меня замусорен всякой ерундой. Пусть есть таблица t c полями KeyField/KeyParent/... Запрос1: Код: plaintext 1. 2. 3. Этот запрос дает таблицу вида (прям по Гетцу): Код: plaintext 1. 2. 3. 4. 5. 6. Запрос2: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Это тот же запрос1, только с обозначением для каждой записи глубины ее вложенности и почти правильно отсортированный: Код: plaintext 1. 2. 3. 4. 5. 6. Запрос3: Сортируем уровни по-наоборот (не знаю, как еще это сказать:)) Код: plaintext 1. 2. 3. 4. Результат: Код: plaintext 1. 2. 3. 4. 5. 6. Вот, собственно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 22:24 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Лох Позорный а задолго до этого ему уже ответили Всего четыре уровня Уровней всего четыре в конкретном случае, а вообще сколько их будет не известно. Но похоже от количества уровней скорость не очень зависит: Для контроля создал таблицу с числом записей первого уровня около 40 000 и второго уровня с числом записей около 20 000 (более или менее реальная ситуация). Скорость просто фантастическая: дерево заполняется около 15 МИНУТ , загрузка процессора 100% . От запросов скорость также не зависит: Заполняю одним запросом из заранее отсортированной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2003, 06:56 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
процессор не пробовали менять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2003, 09:41 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
Ну знаеш до тебя мне далеко. и какой тебе процессор тебе поменять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2003, 09:48 |
|
||
|
TreeView ТОРМОЗИТ
|
|||
|---|---|---|---|
|
#18+
А что все так сложно-то ? А не проще выбрать одним запросом все данные на клиента И по клиентскому рекордсету хоть с рекурсией хоть без ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2003, 10:11 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32367389&tid=1677374]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
197ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 545ms |

| 0 / 0 |
