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

Вниз

ADO   Найти похожие ветки 

 
DimOk   (2008-03-03 09:34) [0]

Доброго времени суток вам мастера. Скажите пожалуйсто как можно ускорить работу ADO. У меня ситуация следующая - таблица имеет около 20 тысяч записей, после того как я пишу ADOTable.Activate := True; сижу и смоотрю в монитор минут пять, при чем на достаточно хорошм железе.... Все настройки компонента по умолчанию, за исключением Connection


 
Сергей М. ©   (2008-03-03 09:44) [1]

Для начала откажись от TADOTable в пользу TADOQuery или TADODataSet.


> за исключением Connection


Покажи дословный текст строки коннекта


 
Sergey13 ©   (2008-03-03 09:45) [2]

> [0] DimOk   (03.03.08 09:34)
> Скажите пожалуйсто как можно ускорить работу ADO

Это винда глючит и/или железо слабое.
Еще вариант (редко встречается) - плохо написана программа, например используются неправильные приемы работы с БД.


 
DimOk   (2008-03-03 09:47) [3]


> Покажи дословный текст строки коннекта

Provider=VFPOLEDB.1;Data Source=D:\SAFE\BEST\BASE\FILINEW\SCLAD;Mode=Share Deny None;Extended Properties="";User ID="";Password="";Mask Password=False;Cache Authentication=False;Encrypt Password=False;Collating Sequence=MACHINE;DSN=""


 
Сергей М. ©   (2008-03-03 09:51) [4]


> DimOk   (03.03.08 09:47) [3]


Коннектом управляешь явно или неявно ?


 
DimOk   (2008-03-03 09:53) [5]


> Коннектом управляешь явно или неявно ?

Я не знаю, явно или нет, но строку подключения я собрал в визарде, а свойство Connected := True установленно в Object Inspector


 
Сергей М. ©   (2008-03-03 09:56) [6]


> DimOk   (03.03.08 09:53) [5]


Значит явно.

И собственно коннект (а не открытие таблицы) при этом происходит мгновенно ?


 
DimOk   (2008-03-03 09:59) [7]


> И собственно коннект (а не открытие таблицы) при этом происходит
> мгновенно ?

Да. А таблица "активизирутся" очень медленно


 
Сергей М. ©   (2008-03-03 10:01) [8]

DataSource-компонент при этом отключен от TADOTable ?


 
DimOk   (2008-03-03 10:03) [9]


> DataSource-компонент при этом отключен от TADOTable ?

Да, его нет вообще - потому что данные не выводятся пользователю...


 
Сергей М. ©   (2008-03-03 10:04) [10]

Приведи значения св-в
Filter, Filtered, IndexName ..


 
Kolan ©   (2008-03-03 10:05) [11]

Так а если через запрос(TADODataSet), ты проверил или нет?


 
DimOk   (2008-03-03 10:06) [12]


> Приведи значения св-в
> Filter, Filtered, IndexName ..

Object Inspector

Filter - пусто
Filtered - False
IndexName - пусто


 
Sergey13 ©   (2008-03-03 10:07) [13]

> [7] DimOk   (03.03.08 09:59)
> Да. А таблица "активизирутся" очень медленно

Подозреваю, что когда будет 40 тысяч записей будет еще медленнее. Переходи на АДОДатаСет и запросы.


 
Kolan ©   (2008-03-03 10:07) [14]

> Подозреваю, что когда будет 40 тысяч записей будет еще медленнее.

Лол, а мы все подозревали, что станет быстрее :)


 
DimOk   (2008-03-03 10:09) [15]


> Переходи на АДОДатаСет и запросы.

Та же песня.... Я уже пробовал, запрос мне не нужен т.к. надо заполднить контрол всеми значениями из одного поля одной таблицы.


 
Сергей М. ©   (2008-03-03 10:09) [16]


> DimOk   (03.03.08 10:06) [12]


Св-во Sort = ?


 
Сергей М. ©   (2008-03-03 10:11) [17]


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


Абалдеть !

Ты что, хочешь заставить юзера любоваться десятками тысяч строк одновременнно ?

Да ты садист, батенька)


 
DimOk   (2008-03-03 10:13) [18]


> Да ты садист, батенька)

Да нет :) Это номенклатурый справочник, просто хотелось при формировании отчета конкретизировать его по выбранной позиции..... ну это уже другая песня.. :)


 
Сергей М. ©   (2008-03-03 10:13) [19]


> запрос мне не нужен


При условии


> всеми значениями из одного поля


как раз запрос тебе и нужен !
Причем он д.б. request live и unidirectional


 
DimOk   (2008-03-03 10:14) [20]


> Св-во Sort = ?

Незаданно


 
DimOk   (2008-03-03 10:14) [21]


> Св-во Sort = ?

Незаданно


 
Сергей М. ©   (2008-03-03 10:14) [22]


> Это номенклатурый справочник


Ну и нафига юзеру обозревать его весь, если его интересует десяток-другой записей, отобранных по некоему критерию ?


 
Сергей М. ©   (2008-03-03 10:16) [23]


> хотелось при формировании отчета конкретизировать его по
> выбранной позиции


Для выбора "позиции" существуеьт инкрементальный поиск, которыйЮ, в свою очередь, базируется на запросах.


 
DimOk   (2008-03-03 10:18) [24]


> Ну и нафига юзеру обозревать его весь, если его интересует
> десяток-другой записей, отобранных по некоему критерию ?
>

Возьмем 1С Предприятие. При формирования отчета пользователь может конкретизировать его по номеклатурной позиции и т.п.


 
Сергей М. ©   (2008-03-03 10:19) [25]


> конкретизировать его по выбранной позиции


А сортировать этот список ты как собрался ?
Он же несортированный у тебя !

Ты что же, хочешь заставить юзера искать в этой двадчатитысячной солянке интересующую его строку ? Тогда ты точно садист)


 
DimOk   (2008-03-03 10:20) [26]


> Для выбора "позиции" существуеьт инкрементальный поиск,
> которыйЮ, в свою очередь, базируется на запросах.

У меня не только же позиция выбирается. И запросы есть. Но результат один и тот же - правильный, но очень "медленный".


 
Kolan ©   (2008-03-03 10:21) [27]

> И запросы есть.

Показывай запрос.


 
Сергей М. ©   (2008-03-03 10:21) [28]


> Возьмем 1С Предприятие


Давай возьмем.

И копнув глубже увидим, что там для этой цели используется аналог дельфийского DBComboBox"a, коим у тебя и не пахнет, судя по тобой вышеизложенному.


 
DimOk   (2008-03-03 10:22) [29]


> Ты что же, хочешь заставить юзера искать в этой двадчатитысячной
> солянке интересующую его строку ? Тогда ты точно садист)

Это поможет мне в данной ситуации..... О том удобно или нет речи же не идет...:)


 
Сергей М. ©   (2008-03-03 10:23) [30]


> У меня не только же позиция выбирается


А неважно.

Инкр.поиск на то и придуман, чтобы избавить юзера от необходимости шариться по спискам бешеных размеров.


 
DimOk   (2008-03-03 10:24) [31]


> Показывай запрос.

Запрос достаточно примитивный...
select nnum.mlabel, name.mlabel, kolpost.mkart from mlabel mkart where nnum.mlabel = nnum.mkart


 
Kolan ©   (2008-03-03 10:25) [32]

> Это поможет мне в данной ситуации&#133 О том удобно или
> нет речи же не идет&#133:)

Тебе говорят, что если пльзователь хочет найти вермешель, то и надо делать:
SELECT * FROM <Table>
WHERE FoodType = "вермешель";

а не давать ему все продукты сразу&#133

Переделай сабж с пом запроса, и доложи о результатах(незабудь показать сам запрос).


 
Сергей М. ©   (2008-03-03 10:25) [33]


> том удобно или нет речи же не идет


Ну что ж .. смотри, кума, тебе жить)

Но почему не использован DBLookup/ComboBox - вот это совершенно непонятно и ничем не оправдано.


 
DimOk   (2008-03-03 10:26) [34]


> дельфийского DBComboBox"

С этим компонентом у меня работать не получилось, и я прибег к обычному ComboBoxу


 
Kolan ©   (2008-03-03 10:27) [35]

> select nnum.mlabel, name.mlabel, kolpost.mkart from mlabel
> mkart where nnum.mlabel = nnum.mkart

О, а тут джоин. Как же ты его с пом TADOTAble делал?


 
Сергей М. ©   (2008-03-03 10:28) [36]


> where nnum.mlabel = nnum.mkart


А говоришь нет фильтрации)

Вот тебе и засада !
Индекса-то по полю nnum.mlabel нет и в помине)


 
DimOk   (2008-03-03 10:28) [37]


> Kolan ©   (03.03.08 10:25) [32]

Я не совсем понял вопроса, этот запрос не для поиска информации, а для создания конкретой выборки


 
Kolan ©   (2008-03-03 10:28) [38]

> С этим компонентом у меня работать не получилось, и я прибег
> к обычному ComboBoxу

От тут видимо и тормоза, все дело в долгм выводе в ComboBox&#133


 
Сергей М. ©   (2008-03-03 10:29) [39]


> Как же ты его с пом TADOTAble делал?


Да, оч интересно было бы послушать на эту тему нач-ка транспортного цеха) ..


 
Kolan ©   (2008-03-03 10:29) [40]

> а для создания конкретой выборки

Так вот эту конкретную выборку хорошобы сокращать до минимума&#133 Проблемма конечно именнов отсутствии индекстов или прорисовке на комбобоксе&#133



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

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

Наверх




Память: 0.56 MB
Время: 0.031 c
8-1178193756
AlexLines
2007-05-03 16:02
2008.03.30
Защита изображения


2-1204259124
Igor23
2008-02-29 07:25
2008.03.30
Проверка строки или нехватка серого вещества )))


9-1168453494
DillerXX
2007-01-10 21:24
2008.03.30
Загрузка процессора


15-1202826268
Real
2008-02-12 17:24
2008.03.30
Как обломать wine?


11-1180799577
Vladimir Kladov
2007-06-02 19:52
2008.03.30
Версия 2.64