powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Скорость SELECTа различается в 450 раз...
14 сообщений из 14, страница 1 из 1
Скорость SELECTа различается в 450 раз...
    #35518621
Yras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица около 1.6 млн. записей
Структура ID C(10), колличество и др.
По ID индекс.

Код
Код: plaintext
1.
2.
3.
SELECT Osnov
SET ORDER TO ID
l_ID = '____277645'
SELECT * FROM Osnov WHERE  Osnov.ID = l_ID  INTO CURSOR Temp_osn

В командном окне выполняется около 40 миллисекунд, в exe-шнике 17-18 секунд...

Фантастика?

Или может быть просто носом в букварь ткнете...

PS Visual FoxPro 9.0 SP2
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518641
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже в EXE индекс не используется. Иногда фоксовый рантайм (т.е. из EXE) не так отрабатывает как в оболочке.

Посмотри в обоих случаях что пишет:
Код: plaintext
? set('COLLATE')

попробуй еще NOFILTER в конец запроса добавить.
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518642
посмотри SYS(3054)
там и там
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518661
Yras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TПохоже в EXE индекс не используется. Иногда фоксовый рантайм (т.е. из EXE) не так отрабатывает как в оболочке.

Посмотри в обоих случаях что пишет:
Код: plaintext
? set('COLLATE')

попробуй еще NOFILTER в конец запроса добавить.

В среде RUSSIAN
В проге MACHINE

NOFILTER не помогло
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518668
Yras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
12345вышелзайчикпогулятьпосмотри SYS(3054)
там и там

В среде пишет:

Using index tag Id to rushmore optimize table osnov
Rushmore optimization level for table osnov: partial

В программе:

Уровень оптимизации Rushmore для таблица osnov: отсутствует

Дык вопрос, почему так может быть ...
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518679
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YrasВ среде RUSSIAN
В проге MACHINE
Попробуй в проге
Код: plaintext
set collate to "russian"

Это только для проверки. Думаю поможет. Навсегда только не оставляй в коде.
Настройка set collate влияет на сравнение строк, для индексов запоминается в момент создания индекса. При работе необходимо чтобы всегда и везде была одна и таже установка set collate иначе и другие глюки могут быть.
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518686
Yras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T YrasВ среде RUSSIAN
В проге MACHINE
Попробуй в проге
Код: plaintext
set collate to "russian"

Это только для проверки. Думаю поможет. Навсегда только не оставляй в коде.
Настройка set collate влияет на сравнение строк, для индексов запоминается в момент создания индекса. При работе необходимо чтобы всегда и везде была одна и таже установка set collate иначе и другие глюки могут быть.

Угу, оно. Спасибо. В среде поменял на машин и сразу тормоза.
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518694
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yras[quot Dima T]Угу, оно. Спасибо. В среде поменял на машин и сразу тормоза.

Почитай про SET COLLATE
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35518730
Yras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T Yras[quot Dima T]Угу, оно. Спасибо. В среде поменял на машин и сразу тормоза.

Почитай про SET COLLATE

Ещё раз ОГРОМНОЕ СПАСИБО за подсказку и за букварь ;)

Руками посношу все индексы, назначу одинаковый collate в среде и пропишу в программе, а потом индексы пересоздам!
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35519308
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помню, в чем была суть, но в младших версиях Foxa set collate "russian"
выкидывал подлянку при индексном поиске. При чем по моему даже на числовых
полях (но точно не помню).

Подскажите, эту проблему пофиксили и где об этом можно почитать?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35519426
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galyamov Rinat
Не помню, в чем была суть, но в младших версиях Foxa set collate "russian"
выкидывал подлянку при индексном поиске. При чем по моему даже на числовых
полях (но точно не помню).


ниразу такого не было. ВОт длина в выражениях должна быть 120 символов в отличии от машинного и в национальных кодировках большие буквы=маненьким, что не как в машинном
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35519633
karly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Galyamov Rinat
Не помню, в чем была суть, но в младших версиях Foxa set collate "russian"
выкидывал подлянку при индексном поиске. При чем по моему даже на числовых
полях (но точно не помню).

Подскажите, эту проблему пофиксили и где об этом можно почитать?

Было в VFP5. При Set collate to Russian индексы по числовым полям выдавали ошибочные результаты. В VFP6 пофиксено, более никогда не проявлялось.
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35525691
СРО09ИТ22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SET ORDER TO лишнее.
Быстрее будет без установки активного тега.

SET ORDER TO 0
...
Рейтинг: 0 / 0
Скорость SELECTа различается в 450 раз...
    #35526027
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СРО09ИТ22SET ORDER TO лишнее.
Быстрее будет без установки активного тега.

SET ORDER TO 0
Для команд Select-SQL это роли не играет, поскольку они работают со своими собственными (внутренними) рабочими областями. Как следствие, никакие настройки рабочих областей (кроме глобальных вроде SET DELETED) не оказывают на их работу никакого влияния.

Хотя на работу сканирующих команд вроде SCAN, LOCATE, CALCULATE это влияние окажет.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Скорость SELECTа различается в 450 раз...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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