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

Вниз

Медленно работает TdxDBTreeView.   Найти похожие ветки 

 
Abcdef123   (2012-06-12 10:27) [0]

Здравствуйте, Мастера!
Сначала опишу проблему: В давно уже работающем проекте используется компонент TdxDBTreeView,но как только на некоторых рабочих местах перешли на виндовс 7, то одна из двух форм, где используется этот компонент работает так медленно!!! На другой же форме работает нормально (как и раньше). Я сравнила в чем разница - та, что быстро работает данные формируем простым запросом Select * from MyTbl Order by Key_RID, PCode. И на этой форме всего то нужно показать это дерево. А вот в той, что медленно, там посложнее задача и работаем через компонент-таблица (Таблица та же самая MyTbl). И у таблицы индекс установлен по полю "PCode" - это так надо на форме, чтоб данные были в алфавитном порядке по этому полю (а не по Key_RID).То есть на форме все данные полей для редактирования и прочее, а сбоку это "дерево". Вот я и думаю, может ли такая сильная задержка в показе этого дерева происходить по причине "не того" индекса? (Я, к сожалению сама с этим компонентом мало работала, так что извините если вопрос примитивен)
А может вообще нет необходимости искать причину в коде, может надо искать причину в операционке и настройках сети?? (Дело в том, что еще заметила, если данные хранятся на локальном диске, то побыстрее работает, чем если данные с сервера. Хотя как уже сказала выше, до этого ничего в настройках сетевых не меняли, и если рабочая станция XP, то работает быстро, а если Виста или Вин7, то медленно)
Как дополнительную информацию работаем с Базой данных Advantage 10.
Надеюсь , что кто то работает с этим компонентом и может мне ответить на вопрос по TdxDBTreeView - важен ли индекс в датасет?
И главное, в каком направлении мне стоит "двигаться" для решения проблемы со скоростью?
Заранее спасибо,
Надежда.


 
sniknik ©   (2012-06-12 11:21) [1]

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


 
Abcdef123   (2012-06-12 12:13) [2]

To [1] "в чем вообще проблема? создай "нужный""
Физически у этой таблицы нет индекса по полю Key_Rid, да и как сказала, на форме мне нужен данные по индексу алфавитному. А значит, я могу датасет для дерева только сделать на основе query И каким то образом связать эти оба датасета (таблицу и запрос), чтобы действия были синхронные при работе с таблицей или деревом. А как их связать, я не знаю. Индекса то нужного физически нет.


 
sniknik ©   (2012-06-12 13:33) [3]

> на форме мне нужен данные по индексу алфавитному.
а в дбтривью нужны по ключу/(неважно чему), и что теперь? парадокс, больше одного индекса на таблицу представить не можешь? а нафига тебе это программирование?

> Индекса то нужного физически нет.
создай. и не путай локальный и в базе... (у тебя клиент-сервер же, нет?)


 
Abcdef123   (2012-06-13 05:25) [4]

To [3] Да, у нас клиент-сервер. И вы имеете в виду создать локальный индекс в рантайме, к примеру через TTable.AddIndex(...)? Правильно я Вас поняла?
И второй вопрос по вашему комментарию - извините, я пока всё же не могу представить, как надо оперировать индексами, если чтоб данные отображались как я сказала выше? Ведь активный индекс может быть установлен только один одномоментно. Поясню, ну вот, допустим, я создала
второй индекс Key_RID+PCode и установлю его как активным (основным), это решит проблему с деревом, но, ведь и все записи на форме будут кроллироваться (показываться) по ключу Key_RID+PCode, а не по PCode как мне нужно. Поясните, пожалуйста, подробнее, может я что-то упускаю из вида?


 
sniknik ©   (2012-06-13 07:54) [5]

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

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


 
Abcdef123   (2012-06-13 12:26) [6]

to [5] Ну сейчас своим вопросом на мой вопрос вообще меня поставили в тупик.:-) "нужен ли тебе ответ на вопрос" С какой стати я вообще бы задавала здесь вопросы? Какая должна быть фантазия, чтоб найти другую причину пребывания здесь...Я в недоумении.
"действительно есть команды оперирующие только активным индексом. (обычно в справке про это пишут)"Конечно же прежде чем писать здесь я смотрела хелп. Но часто на "сторонние" компоненты очень скудный хелр, в том числе и у интересующего меня компонента, поэтому я и обратилась сюда к тем,кто возможно уже знает про этот компонент и "обязательные условия" его использования.


 
stas ©   (2012-06-13 16:05) [7]

Abcdef123   (13.06.12 12:26) [6]
На сколько быстро работает этот запрос Select * from MyTbl Order by Key_RID, PCode, на тех машинах где медленно строится дерево. Если быстро то дело не в индексе, хотя он здесь не помешал бы по 2-м полям (Key_RID, PCode)


 
sniknik ©   (2012-06-13 18:02) [8]

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

stas ©   (13.06.12 16:05) [7]
> sniknik ©   (12.06.12 13:33) [3]
> создай. и не путай локальный и в базе... (у тебя клиент-сервер же, нет?)



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

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.06 c
2-1336087027
Андрей Другой
2012-05-04 03:17
2013.03.22
Все файлы в папке


15-1352320203
Юрий
2012-11-08 00:30
2013.03.22
С днем рождения ! 8 ноября 2012 четверг


4-1258675071
DDorgNev
2009-11-20 02:57
2013.03.22
как перехватить LVM_SETITEMTEXT у контрола в чужом окне?


15-1338593873
alexdn
2012-06-02 03:37
2013.03.22
10 ти дневн демо


1-1296196081
Сергей Р.
2011-01-28 09:28
2013.03.22
Ошибка SOAP: Тег конца "head" не соответствует тегу начала "meta"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский