|
|
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
Доброго дня все. У меня такая проблема:очень медленно работает прога. Но это происходит, если к базе данных(которая хранится на сервере) подключаются несколько пользователей. Программа написана на 5 фоксе. с чем это может быть связано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 08:34 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
Для начала посмотри http://sql.ru/forum/actualthread.aspx?tid=238776, возникнут вопросы задавай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 09:18 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
public rec public G_open G_open = 1 sele abonent set filt to set order to id_abon seek(G_num_abon) rec = recno() G_num_telef=abonent.ph_number G_fam=rtrim(ltrim(abonent.familia)) G_name=rtrim(ltrim(abonent.name)) G_otc=ltrim(rtrim(abonent.otchestvo)) G_city = abonent.city G_street=rtrim(ltrim(abonent.street)) G_home = alltrim(abonent.home) G_kvart = alltrim(abonent.kvart) G_data_ust=abonent.begin_phone G_data_snyat = abonent.end_phone G_id_tarif = id_tarifs G_usl8 = usluga8 G_usl9 = usluga9 G_new_ab = abon_new G_del_ab = abon_del G_to_plat = to_plat G_bron = bron G_name_dvo = alltrim(dvo) if abonent.abon_del = .t. thisform.label23.visible = .t. thisform.image1.visible = .t. thisform.command10.enabled = .f. thisform.command11.enabled = .t. else thisform.label23.visible = .f. thisform.image1.visible = .f. thisform.command11.enabled = .f. thisform.command10.enabled = .t. endi sele tarif_saldo locate for id_tarifs = G_id_tarif if found() G_tarif_name = name endi sele saldo locate for G_num_abon = id_abon if found() G_sa_all = sa_all G_dolg_ab = dolg_ab_plat G_dolg_to = dolg_to G_dolg_peni = dolg_peni G_nach_ab = nach_ab_plat G_nach_to = nach_to G_nach_dvo = nach_dvo G_dolg_dvo = dolg_dvo endi sele peni locate for G_num_abon = id_abon if found() G_peni_month = sum_peni endi alldvo = G_name_dvo n_d = '' if G_name_dvo <> '' kolvo = occurs('^',alldvo) + (occurs('^',alldvo)-1) dimension masdvo(kolvo) for i=1 to kolvo masdvo = substr(alldvo,i,1) endf for i=1 to kolvo vid_dvo = masdvo sele dvo locate for id_dvo = val(vid_dvo) if found() n_d = rtrim(ltrim(n_d)) + rtrim(ltrim(name_dvo)) G_name_dvo1 = n_d endi endf else G_name_dvo1 = n_d endi sele edit_tarifs set filt to id_abon = G_num_abon sele korrect *requery() set filt to id_abon = G_num_abon sele kvit_view *requery() set filt to id_abon = G_num_abon thisform.Grid1.refresh thisform.Grid2.refresh thisform.Grid3.refresh thisform.Grid1.setfocus thisform.Grid2.setfocus thisform.Grid3.setfocus ***** thisform.text2.value = G_fam + ' ' + G_name + ' ' + G_otc thisform.text5.value = G_street + ' ' + G_home + ' ' + G_kvart thisform.text15.value = G_dolg_ab thisform.text16.value = G_dolg_to thisform.text17.value = G_dolg_peni thisform.text18.value = G_dolg_dvo thisform.text10.value = G_nach_ab thisform.text11.value = G_nach_to thisform.text12.value = G_peni_month thisform.text9.value = G_nach_dvo thisform.text13.value = G_dolg_ab + G_dolg_to thisform.text14.value = G_sa_all Thisform.text1.value = G_num_telef Thisform.Text3.value = G_name_dvo1 ***** Здесь приведен текст проги, при инициализации формы. Так вот если подключен один пользователь то все работает быстро, но если несколько то эта самая форма открывается порядка 5-8 секунд! Хотя всего-то насвего необходимо выбрать данные из нескольких таблиц и заполнить ими поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 09:28 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
Наводящие вопросы. 1 Зачем устанавливать ордер, если используешь ф-ию SEEK(), там есть 2-ой и 3-ий параметр Код: plaintext 1. Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. И вот это совсем не годится Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 09:39 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
А какой размер у вас таблиц saldo и tarif_saldo, dvo? Если большой (особенно dvo), то для начала создайте индексы в таблицах и замените LOCATE на SEEK С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 09:42 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
Aleksey-KА какой размер у вас таблиц saldo и tarif_saldo, dvo? Если большой (особенно dvo), то для начала создайте индексы в таблицах и замените LOCATE на SEEK С уважением, Алексей В Saldo около 12000 записей, tarif_saldo 34 записи dvo 1 запись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 09:58 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
В каком месте формы стоит приведенный код? С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:01 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
приведенный код навешен на form.init ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:06 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
PaulWist sele edit_tarifs set filt to id_abon = G_num_abon sele korrect *requery() set filt to id_abon = G_num_abon sele kvit_view *requery() set filt to id_abon = G_num_abon А что с этим не так? Мне в гриде необходимо отобразить данные конкретно по "этому" абоненту, поэтому я применяю фильтрацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:09 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
Фильтр под гридом - это не тормоз, а "смерть" приложению. Лучше сделать View, и вызывать Requery(), что вообщем-то и пытались сделать, причем View должен быть оптимизмрован иначе выигрыша не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:14 |
|
||
|
Медленная работа программы
|
|||
|---|---|---|---|
|
#18+
PaulWistФильтр под гридом - это не тормоз, а "смерть" приложению. Лучше сделать View, и вызывать Requery(), что вообщем-то и пытались сделать, причем View должен быть оптимизмрован иначе выигрыша не получится. Я новичок в этом деле. Что значит оптимизировать? Где про это можно почитать? Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 10:49 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=286&tid=1592828]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 408ms |

| 0 / 0 |
