powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Страшно тормозит VFP7
15 сообщений из 15, страница 1 из 1
Страшно тормозит VFP7
    #32117346
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При создании запроса в VFP7 из 2-х 20-тимеговых таблиц он жутко тормозит, TEMPа жрет точно больше 2 Гб (до конца не дожидался). Что с ним?
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32117351
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На запрос можно глянуть?
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32117479
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да хотя бы такой простенький запрос:

SELECT Mkart.grup, Mkart.nnum, Mkart.name, Spr_part.ocena1;
FROM mkart INNER JOIN spr_part ;
ON Mkart.grup = Spr_part.grup

Mkart - 4 Мб
Spr_part - 21 Мб
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32117537
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно все это. Запрос нормальный, объемы тоже. Попробовал изобразить что-то подобное с млн записей - вроде все вполне приемлимо. А только фокс тормозит? Случайно не windows98?
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32117885
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал в Win98 и в WinXP, то же самое, может в настройках что есть, VFP английский
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32117996
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что с остальными запросами? Может быть проблема с одним из файлов?
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32118069
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понял, что тормозит при связывании двух или более таблиц, при запросе из одной таблицы все нормально
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32118085
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может REINDEX?

Кстати, такая вот конструкция у меня выполняется 18 сек:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
x=SECONDS()
CREATE CURSOR mkart (grup i, nnum i , name c( 10 ))
CREATE CURSOR spr_part (grup i, ocena1 i , name c( 10 ))
FOR i= 1  TO  1000 
 FOR j= 1  TO  1000 
  INSERT INTO mkart (grup, nnum, name) VALUES (i,INT(RAND()* 100 )+ 1 ,SYS( 2015 ))
 ENDFOR 
 INSERT INTO spr_part (grup, ocena1, name) VALUES (i,INT(RAND()* 1000 )+ 1 ,SYS( 2015 ))
ENDFOR 
SELECT Mkart.grup, Mkart.nnum, Mkart.name, Spr_part.ocena1; 
FROM mkart INNER JOIN spr_part ; 
ON Mkart.grup = Spr_part.grup INTO CURSOR temp
?SECONDS()-x


Может что-то надо добавить для чистоты эксперимента (memo, cdx etc)?
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32118987
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот запрос выполняется нормально за 15 сек

А если связать таблицы по символьному полю

x=SECONDS()
CREATE CURSOR mkart (grup c, nnum i , name c(10))
CREATE CURSOR spr_part (grup c, ocena1 i , name c(10))
FOR i=1 TO 1000
FOR j=1 TO 1000
INSERT INTO mkart (grup, nnum, name) VALUES (STR(i),INT(RAND()*100)+1,SYS(2015))
ENDFOR
INSERT INTO spr_part (grup, ocena1, name) VALUES (STR(i),INT(RAND()*1000)+1,SYS(2015))
ENDFOR
SELECT Mkart.grup, Mkart.nnum, Mkart.name, Spr_part.ocena1;
FROM mkart INNER JOIN spr_part ;
ON Mkart.grup = Spr_part.grup INTO CURSOR temp
?SECONDS()-x

то опять 2 Гб TEMPа не хватат
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32119053
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yuri79

1. SP1 for VFP7 накатил?
2. Индексы по связываемым полям есть?
3. Таблицы в этой версии созданы?
4. Кодовые страницы и collation правильно выставлены (раз уж объединение по char)?
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32119078
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найдите 3 различия:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
CLEAR
CLOSE ALL 

* Мой вариант c Integer ( 13 . 553 )

x=SECONDS()
CREATE CURSOR mkart (grup i, nnum i , name c( 10 ))
CREATE CURSOR spr_part (grup i, ocena1 i , name c( 10 ))
FOR i= 1  TO  1000 
 FOR j= 1  TO  1000 
  INSERT INTO mkart (grup, nnum, name) VALUES (i,INT(RAND()* 100 )+ 1 ,SYS( 2015 ))
 ENDFOR 
 INSERT INTO spr_part (grup, ocena1, name) VALUES (i,INT(RAND()* 1000 )+ 1 ,SYS( 2015 ))
ENDFOR 
SELECT Mkart.grup, Mkart.nnum, Mkart.name, Spr_part.ocena1; 
FROM mkart INNER JOIN spr_part ; 
ON Mkart.grup = Spr_part.grup INTO CURSOR temp
?SECONDS()-x
CLOSE ALL 

* Мой вариант c String ( 17 . 356 )

x=SECONDS()
CREATE CURSOR mkart (grup c( 10 ), nnum i , name c( 10 ))
CREATE CURSOR spr_part (grup c( 10 ), ocena1 i , name c( 10 ))
FOR i= 1  TO  1000 
    FOR j= 1  TO  1000 
		INSERT INTO mkart (grup, nnum, name) VALUES (STR(i),INT(RAND()* 100 )+ 1 ,SYS( 2015 ))
	ENDFOR 
	INSERT INTO spr_part (grup, ocena1, name) VALUES (STR(i),INT(RAND()* 1000 )+ 1 ,SYS( 2015 ))
ENDFOR 
SELECT Mkart.grup, Mkart.nnum, Mkart.name, Spr_part.ocena1; 
FROM mkart INNER JOIN spr_part ; 
ON Mkart.grup = Spr_part.grup INTO CURSOR temp
?SECONDS()-x
CLOSE ALL 
x=SECONDS() 
 
* Твой вариант (Не дождался :( )

CREATE CURSOR mkart (grup c, nnum i , name c( 10 ))
CREATE CURSOR spr_part (grup c, ocena1 i , name c( 10 )) 
FOR i= 1  TO  1000  
FOR j= 1  TO  1000  
INSERT INTO mkart (grup, nnum, name) VALUES (STR(i),INT(RAND()* 100 )+ 1 ,SYS( 2015 )) 
ENDFOR 
INSERT INTO spr_part (grup, ocena1, name) VALUES (STR(i),INT(RAND()* 1000 )+ 1 ,SYS( 2015 )) 
ENDFOR 
SELECT Mkart.grup, Mkart.nnum, Mkart.name, Spr_part.ocena1; 
FROM mkart INNER JOIN spr_part ; 
ON Mkart.grup = Spr_part.grup INTO CURSOR temp 
?SECONDS()-x


Как я понял в случае CREATE CURSOR mkart (grup c, nnum i , name c(10)) поле grup C(1), вариантов заполнения немного, количество записей в запросе не 1000000, а 1000000*1000. Вот он и тормозит :( Скорее всего у тебя много повторений ключего поля в таблице spr_part, проверь.
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32119865
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я только начал изучать SQL, запрос создавал в дизайнере SQL , базы формата DBASE IV, collate вроде русский. А по трем запросам то же самое
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32119915
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Yuri79

Так что, вопрос снимается? Совет: никогда не пользуйся дизайнером
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32120153
Yuri79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но в другой проге такие запросы даже по сетке выполняются нормально. Все таки видимо что-то с языком.
...
Рейтинг: 0 / 0
Страшно тормозит VFP7
    #32121120
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторяю вопрос: Установлен ли Service Pack 1 for Visual FoxPro 7 ?

Если нет, то немедленно ставь, т.к. без него VFP7 - очень глючная игрушка, не более. Так же необходимо установить патч для исполнительной системы, управляющей работой exe-файлов. Все это здесь: http://msdn.microsoft.com/vfoxpro/downloads/updates/default.asp
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Страшно тормозит VFP7
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]