|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
здраствуйте, ест прога написано xp, на xp расшет длится около 10 минут но на win7 это займет 23 часа, кто нибуд можете помоч ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 08:47 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
ну так покажите нам алгоритм. в фокспро есть профайлер в коммандном окне наберите и прочтите: help Coverage Profiler Log File проанализируйте, что происходит и какие команды долго выполняются. ждемс. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 09:27 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
Agasiздраствуйте, ест прога написано xp, на xp расшет длится около 10 минут но на win7 это займет 23 часа, кто нибуд можете помочУ меня все заработало после того, как 1) установил win7 ULTIMATE; 2) оформление перенастроил на классическое. Если это не поможет, то включи пошаговую отладку и смотри, в каких местах тормоза. И вообще, может быть сама винда глючная, или комп, или антивирус. И зачем к "семерке" все лепим, если на XP все работало... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 09:37 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
igorbikИ зачем к "семерке" все лепим, если на XP все работало... попробую вмешаться, а что, на новую купленную станцию с ОЗУ более 3-х ГБт нужно ставить харэ? 7-ка нормальная удобная ось, почему-бы с ней не работать? (гы, для себя открыл, что оказывается вынь7*64неогран - сервер, - акронис, мать его...) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 10:02 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
прошелмимоа что, на новую купленную станцию с ОЗУ более 3-х ГБт нужно ставить харэ? 7-ка нормальная удобная ось, почему-бы с ней не работать? Если бы не 23 часа на 1 запрос.... Тут от ситуации надо смотреть. Если тормоза не ищутся, то 1) попробовать на другом компе с W7 Ultimate и сделать выводы 2) если не тянет и там, а ситуация напряженная, то поставить ХР или 2003 сервер и работать. Тормоза параллельно искать, напрмер, на другом компе с W7 3) если нет напряга, то искать тормоза на этом компе. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 12:08 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
igorbikпрошелмимоа что, на новую купленную станцию с ОЗУ более 3-х ГБт нужно ставить харэ? 7-ка нормальная удобная ось, почему-бы с ней не работать? Если бы не 23 часа на 1 запрос.... Тут от ситуации надо смотреть. Если тормоза не ищутся, то 1) попробовать на другом компе с W7 Ultimate и сделать выводы 2) если не тянет и там, а ситуация напряженная, то поставить ХР или 2003 сервер и работать. Тормоза параллельно искать, напрмер, на другом компе с W7 3) если нет напряга, то искать тормоза на этом компе. не нужно ничего придумывать, просто посмотреть лог. кроме этого пусть нам покажет автор что там вообще в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 13:09 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
вот код SET TALK OFF SELECT gorcakic DELETE ALL PACK t=ALLTRIM(thisform.text5.Value) SELECT ABONENT SET ORDER TO abonhamar SCAN kod = ABONENT.ABONHAMAR kk=kod thisform.text6.Value =kod SELECT abonkod k2=0 LOCATE for abonkod.abonhamar=kk.and.abonkod.tari>=t ff=abonkod.tari r=RECNO([abonkod]) DO WHILE abonkod.abonhamar=kod k2=0 qq1=0 xm=abonkod.hunvar SUM(abonkod.hunvar) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.tari>=t.and.hunvar>0 TO q COUNT ALL for abonhamar=kk.and.tari>=t TO qq qq1=r+(qq-1) xhunvar=s/q FOR m=r TO qq1 GO RECORD m xm=abonkod.hunvar IF xm>0 then k1=(xm-xhunvar)*(xm-xhunvar) k2=k2+k1 ENDIF ENDFOR IF xhunvar>0 then khunvar=SQRT(k2/q)/xhunvar ELSE khunvar=0 ENDIF SUM(abonkod.petrvar) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.petrvar>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xpetrvar=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.petrvar IF xm>0 then k1=(xm-xpetrvar)*(xm-xpetrvar) k2=k2+k1 ENDIF ENDFOR IF xpetrvar>0 then kpetrvar=SQRT(k2/q)/xpetrvar ELSE kpetrvar=0 ENDIF SUM(abonkod.mart) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.mart>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xmart=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.mart IF xm>0 then k1=(xm-xmart)*(xm-xmart) k2=k2+k1 ENDIF ENDFOR IF xmart>0 then kmart=SQRT(k2/q)/xmart ELSE kmart=0 ENDIF SUM(abonkod.april) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.april>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xapril=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.april IF xm>0 then k1=(xm-xapril)*(xm-xapril) k2=k2+k1 ENDIF ENDFOR IF xapril>0 then kapril=SQRT(k2/q)/xapril ELSE kapril=0 ENDIF SUM(abonkod.mayis) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.mayis>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xmayis=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.mayis IF xm>0 then k1=(xm-xmayis)*(xm-xmayis) k2=k2+k1 ENDIF ENDFOR IF xmayis>0 then kmayis=SQRT(k2/q)/xmayis ELSE kmayis=0 ENDIF SUM(abonkod.hunis) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.hunis>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xhunis=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.hunis IF xm>0 then k1=(xm-xhunis)*(xm-xhunis) k2=k2+k1 ENDIF ENDFOR IF xhunis>0 then khunis=SQRT(k2/q)/xhunis ELSE khunis=0 ENDIF SUM(abonkod.hulis) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.hulis>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xhulis=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.hulis IF xm>0 then k1=(xm-xhulis)*(xm-xhulis) k2=k2+k1 ENDIF ENDFOR IF xhulis>0 then khulis=SQRT(k2/q)/xhulis ELSE khulis=0 ENDIF SUM(abonkod.ogostos) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.ogostos>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xogostos=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.ogostos IF xm>0 then k1=(xm-xogostos)*(xm-xogostos) k2=k2+k1 ENDIF ENDFOR IF xogostos>0 then kogostos=SQRT(k2/q)/xogostos ELSE kogostos=0 ENDIF SUM(abonkod.september) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.september>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xseptember=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.september IF xm>0 then k1=(xm-xseptember)*(xm-xseptember) k2=k2+k1 ENDIF ENDFOR IF xseptember>0 then kseptember=SQRT(k2/q)/xseptember ELSE kseptember=0 ENDIF SUM(abonkod.hoktember) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.hoktember>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xhoktember=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.hoktember IF xm>0 then k1=(xm-xhoktember)*(xm-xhoktember) k2=k2+k1 ENDIF ENDFOR IF xhoktember>0 then khoktember=SQRT(k2/q)/xhoktember ELSE khoktember=0 ENDIF SUM(abonkod.noyember) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.noyember>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xnoyember=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.noyember IF xm>0 then k1=(xm-xnoyember)*(xm-xnoyember) k2=k2+k1 ENDIF ENDFOR IF xnoyember>0 then knoyember=SQRT(k2/q)/xnoyember ELSE knoyember=0 ENDIF SUM(abonkod.dektember) for abonkod.abonhamar=kk.and.abonkod.tari>=t to s COUNT ALL for abonhamar=kk.and.abonkod.tari>=t.and.dektember>0 TO q COUNT ALL for abonhamar=kk.and.abonkod.tari>=t TO qq qq1=r+(qq-1) xdektember=s/q k2=0 FOR m=r TO qq1 GO RECORD m xm=abonkod.dektember IF xm>0 then k1=(xm-xdektember)*(xm-xdektember) k2=k2+k1 ENDIF ENDFOR IF xdektember>0 then kdektember=SQRT(k2/q)/xdektember ELSE kdektember=0 ENDIF EXIT ENDDO *ENDIF IF abonkod.abonhamar=kk.and.abonkod.tari>=t THEN SELECT gorcakic APPEND BLANK REPLACE tari WITH t GO BOTTOM REPLACE abonhamar WITH kod REPLACE hunvar WITH khunvar REPLACE petrvar WITH kpetrvar REPLACE mart WITH kmart REPLACE april WITH kapril REPLACE mayis WITH kmayis REPLACE hunis WITH khunis REPLACE hulis WITH khulis REPLACE ogostos WITH kogostos REPLACE september WITH kseptember REPLACE hoktember WITH khoktember REPLACE noyember WITH knoyember REPLACE dektember WITH kdektember ENDIF ENDSCAN ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 13:14 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
Agasiвот код версия фокспро? нужно по-человечьи запросы писать аля : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
само собой с проверкой оптим-ти оных пока, чтобы было меньше трудозатрат пробуйте оптимизировать то что есть частично заменяя куски с проверкой оптим-ти выполнения в вашем коде много скачек, пробуйте авторDo While abonkod.abonhamar=kod вот это совсем жесть, не понятно зачем. танцы аля: Код: plaintext 1. 2. 3.
можно переписать на один селект с сумимированием и подсчетом кол-ва для оптим-и создать на таблицы нужные индексы - на все поля, которые есть в усл-ях огр-я и бинарные на уд-е записи. ну и жесть поубирайте автор Append Blank Replace tari With T Go Bottom Go Bottom - это суперкостыль? вместо аппенда и реплейса в фокспро есть команда скл- инсерт ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 13:43 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
кроме этого анализируйте лог, полученный Coverage Profiler наверное проще там понять чем Ваш код занимается сутки ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 13:45 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
DO WHILE abonkod.abonhamar=kod .... enddo может проще отобрать записи во врем курсор по коду? и затем уже по нему пляски устраивать? еще лучше одновременно с отбором и посчитать что-то, сгруппировать и т.д. автор, Вы обладаете знаниями по поводу написания скл-запросов и оптимизации этих запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 13:58 |
|
фока и виндоус 7
|
|||
---|---|---|---|
#18+
+ вот это Код: plaintext 1. 2. 3. 4. 5. 6. 7.
ну хз как оно работает и что это такое ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 14:01 |
|
|
start [/forum/topic.php?fid=41&msg=36797063&tid=1585030]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 355ms |
total: | 496ms |
0 / 0 |