Вниз
Скачать: CL | DM;

Скорость   Найти похожие ветки 

← →
szap   (2001-12-05 11:53) [0]

Пишу примитивную програмку:
- связываю две (три, четыре) исходные таблицы (~300МВ - каждая)
- устанавливаю фильтры для них
- создаю новую таблицу для результатов (пару десятков полей)
- копирую While not Eof
Хочу обойтись без BDE
Использую Apollo SDE
Проблема низкая скорость (при двух таблицах ~3часа)
Может кто посоветует...


← →
asafr ©   (2001-12-05 12:52) [1]

Необходимо оптимизировать запрос. Перейти с TTable на TQuery и постараться обойтись без результирующей таблицы.


← →
szap   (2001-12-05 13:08) [2]

С Apollo SQL разобраться не смог, а результирующая таблица необходима.


← →
asafr ©   (2001-12-05 13:14) [3]

Тогда первых 2 пункта. К сожалению, посоветовать по Apollo SQL ничего не могу, ибо не знаю...


← →
Dick Gonsales   (2001-12-05 14:51) [4]

Я так понимаю ты связываешь таблицы по каким-то полям,
дальше вешаешь фильтр то есть это все можно написать в виде
SELECT <fields> FROM <table>
WHERE <твоя связь> AND <твои фильтры>
если так, то
используй для выборки TQuery,
не креатив таблицу и не используй While not eof,
для таких операций есть BatchMove который тебе
результат TQuery запихает в таблицу
формат которой и имя скажешь сам.
Это будет быстрее, и я надеюсь индексы у тебя по связующим полям есть?

А вобщето это гораздо проще сделать в FoxPro 2.0 (2 Mb) и.т.д (судя по заголовку dBase, FoxPro)
Делаешь индексы, создаешь запрос с сохранением результата в файл,
сохраняешь текст запроса и все. Открыл Fox, открыл Query, Execute и все OK


← →
szap   (2001-12-05 19:17) [5]

Спасибо, но хочу автоматизировать.
Для TQuery нужен BDE, а он мне ненужен.
BatchMove - в Apollo отсутствует.
Какие компоненты посоветуете использовать для решения этой задачки (НЕ БДЕ, максимум ДЛЛ и чтоб под НТ пахало)
СПАСИБО


← →
szap   (2001-12-05 19:18) [6]

И скорость,скорость,скорость....


← →
Slava ©   (2001-12-06 06:18) [7]

> szap

Надо разобраться с Apollo SQL. Если не получится, можно попробовать
Advantage ( http://advantagedatabase.com). Но, если нет индексов, то
тормоза через ихний SQL будут тоже нехилые.

Все же на мой взгляд лучше сделать через фокс, как советовал Dick Gonsales.
И автоматизировать нет проблем. Если ты из своей программы вычисляешь
какие-нибудь значения для использования в этой выборке, то или запиши их в
файл или передавай в командной строке фоксовой программе. А уж она или
читает из файла или из командной строки эти параметры и выполняет запрос
сразу в результирующую таблицу.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.987 c
14-22350
Ежик
2001-11-04 16:49
2002.01.08
Сижу вот, и нечем заняться!


14-22382
panov
2001-11-08 18:54
2002.01.08
продолжение http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1005233643&n=3


1-22143
[NWC]Eminem
2001-12-20 12:04
2002.01.08
.dcu


1-22039
Yuri Btr
2001-12-18 10:46
2002.01.08
Форма


6-22304
sedoy
2001-10-11 14:09
2002.01.08
клиент-сервер в Интернет через прокси




   Наверх