
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.04.2008, 11:02
|
|||
|---|---|---|---|
|
|||
подскажите хитрый update ? |
|||
|
#18+
vfp 8.0 есть таблица в гриде: товар-группа-заказ-flag причем список товаров и групп полный из справочника товаров, а заказ только на конкретные товары. надо отфильтровать строки с группами товара, по которым есть хотя бы один заказ на товар внутри группы. использую доп поле flag, которое при постоении таблицы ставлю в 1 с помощью scan-а SELECT temp1 GO top SCAN FOR zak<>0 - заказ не 0 vn_a=temp1.s_name - группа товара xcv=RECNO('temp1') UPDATE temp1 SET flag=1 WHERE s_name=vn_a GO (xcv) ENDSCAN set filter to flag=1 но на больших списках скан долго работает - может есть какой-либо способ сделать это одним оператором update без использования скана ? - подскажите плиз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2008, 11:42
|
|||
|---|---|---|---|
|
|||
подскажите хитрый update ? |
|||
|
#18+
gotkovfp 8.0 есть таблица в гриде: товар-группа-заказ-flag причем список товаров и групп полный из справочника товаров, а заказ только на конкретные товары. надо отфильтровать строки с группами товара, по которым есть хотя бы один заказ на товар внутри группы. использую доп поле flag, которое при постоении таблицы ставлю в 1 с помощью scan-а SELECT temp1 GO top SCAN FOR zak<>0 - заказ не 0 vn_a=temp1.s_name - группа товара xcv=RECNO('temp1') UPDATE temp1 SET flag=1 WHERE s_name=vn_a GO (xcv) ENDSCAN set filter to flag=1 но на больших списках скан долго работает - может есть какой-либо способ сделать это одним оператором update без использования скана ? - подскажите плиз... ИМХО, ускорение можно получить и используя SCAN. Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2008, 12:12
|
|||
|---|---|---|---|
|
|||
подскажите хитрый update ? |
|||
|
#18+
2 Станислав и вашем и в моем случае принцип одинаков, только вы дергаете нужное в другую таблицу, и скан идет по ней, я не трачу время на этот селект и иду по той-же таблице по условию zak<>0 в обоих случаях кол-во обработанных строк в скане одинаково а насчет set filter - таблица примерно 30 тыс наименований - не сильно то и много, у меня в форме с этим гридом много фильтров на переключателе все прекрасно работают даже с условием 'ххх'$товар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.04.2008, 12:25
|
|||
|---|---|---|---|
|
|||
подскажите хитрый update ? |
|||
|
#18+
gotko2 Станислав и вашем и в моем случае принцип одинаков, только вы дергаете нужное в другую таблицу, и скан идет по ней, я не трачу время на этот селект и иду по той-же таблице по условию zak<>0 в обоих случаях кол-во обработанных строк в скане одинаково а насчет set filter - таблица примерно 30 тыс наименований - не сильно то и много, у меня в форме с этим гридом много фильтров на переключателе все прекрасно работают даже с условием 'ххх'$товар А немного подумать? У меня на VFP9 идет вполне себе нормально: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=Michaylo&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
19ms |
get tp. blocked users: |
1ms |
| others: | 672ms |
| total: | 798ms |

| 0 / 0 |
