|
|
|
Помогите реорганизовать процесс
|
|||
|---|---|---|---|
|
#18+
Есть у меня такая адская задачка: Имеется таблица T (на самом деле их несколько, но будем считать для простоты, что одна!), в которой есть поле [Freq] (Double) и много полей (Long) [iw1], [iw2], .... , [iw50] (будем, для простоты, считать, что их 50). Все поля iw_j однородны по смыслу, а Freq – по смыслу – это некая "частота". Нужно просуммировать Freq по (сгруппированым) парам значений (iw_j1, iw_j2). Причем, на первый элемент пары (iw_j1) наложен весьма сильный фильтр (в "пространстве значений", наблюдаемых в полях iw_j), а на второй элемент (iw_j2) наложен многократно более слабый фильтр. Что я сейчас делаю. Программно генерю (в двойном цикле) и выполняю всевозможные запросы вида: INSERT INTO [buffer_table] SELECT [iw_j1], [iw_j2], sum(freq) FROM [T] GROUP BY [iw_j1], [iw_j2] WHERE {*фильтр для iw_j1*} AND {*фильтр для iw_j2*} - получается, в общем, но медленно ... (Нужна, понятно, еще и повторная группировка!) Закралось подозрение, что процесс можно ускорить за счет введения некоторых "промежуточных" запросов ... так ли это? (Задача сделана на MS Access) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2006, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34084568&tid=1544955]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 520ms |

| 0 / 0 |
