|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Таблица около 1.6 млн. записей Структура ID C(10), колличество и др. По ID индекс. Код Код: plaintext 1. 2. 3.
В командном окне выполняется около 40 миллисекунд, в exe-шнике 17-18 секунд... Фантастика? Или может быть просто носом в букварь ткнете... PS Visual FoxPro 9.0 SP2 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 16:45 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Похоже в EXE индекс не используется. Иногда фоксовый рантайм (т.е. из EXE) не так отрабатывает как в оболочке. Посмотри в обоих случаях что пишет: Код: plaintext
попробуй еще NOFILTER в конец запроса добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 16:51 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
посмотри SYS(3054) там и там ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 16:52 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Dima TПохоже в EXE индекс не используется. Иногда фоксовый рантайм (т.е. из EXE) не так отрабатывает как в оболочке. Посмотри в обоих случаях что пишет: Код: plaintext
попробуй еще NOFILTER в конец запроса добавить. В среде RUSSIAN В проге MACHINE NOFILTER не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 16:56 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
12345вышелзайчикпогулятьпосмотри SYS(3054) там и там В среде пишет: Using index tag Id to rushmore optimize table osnov Rushmore optimization level for table osnov: partial В программе: Уровень оптимизации Rushmore для таблица osnov: отсутствует Дык вопрос, почему так может быть ... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 17:01 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
YrasВ среде RUSSIAN В проге MACHINE Попробуй в проге Код: plaintext
Это только для проверки. Думаю поможет. Навсегда только не оставляй в коде. Настройка set collate влияет на сравнение строк, для индексов запоминается в момент создания индекса. При работе необходимо чтобы всегда и везде была одна и таже установка set collate иначе и другие глюки могут быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 17:04 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Dima T YrasВ среде RUSSIAN В проге MACHINE Попробуй в проге Код: plaintext
Это только для проверки. Думаю поможет. Навсегда только не оставляй в коде. Настройка set collate влияет на сравнение строк, для индексов запоминается в момент создания индекса. При работе необходимо чтобы всегда и везде была одна и таже установка set collate иначе и другие глюки могут быть. Угу, оно. Спасибо. В среде поменял на машин и сразу тормоза. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 17:06 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Yras[quot Dima T]Угу, оно. Спасибо. В среде поменял на машин и сразу тормоза. Почитай про SET COLLATE ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 17:09 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Dima T Yras[quot Dima T]Угу, оно. Спасибо. В среде поменял на машин и сразу тормоза. Почитай про SET COLLATE Ещё раз ОГРОМНОЕ СПАСИБО за подсказку и за букварь ;) Руками посношу все индексы, назначу одинаковый collate в среде и пропишу в программе, а потом индексы пересоздам! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2008, 17:23 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Не помню, в чем была суть, но в младших версиях Foxa set collate "russian" выкидывал подлянку при индексном поиске. При чем по моему даже на числовых полях (но точно не помню). Подскажите, эту проблему пофиксили и где об этом можно почитать? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2008, 05:10 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Galyamov Rinat Не помню, в чем была суть, но в младших версиях Foxa set collate "russian" выкидывал подлянку при индексном поиске. При чем по моему даже на числовых полях (но точно не помню). ниразу такого не было. ВОт длина в выражениях должна быть 120 символов в отличии от машинного и в национальных кодировках большие буквы=маненьким, что не как в машинном ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2008, 09:13 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
Galyamov Rinat Не помню, в чем была суть, но в младших версиях Foxa set collate "russian" выкидывал подлянку при индексном поиске. При чем по моему даже на числовых полях (но точно не помню). Подскажите, эту проблему пофиксили и где об этом можно почитать? Было в VFP5. При Set collate to Russian индексы по числовым полям выдавали ошибочные результаты. В VFP6 пофиксено, более никогда не проявлялось. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2008, 10:44 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
SET ORDER TO лишнее. Быстрее будет без установки активного тега. SET ORDER TO 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2008, 23:50 |
|
Скорость SELECTа различается в 450 раз...
|
|||
---|---|---|---|
#18+
СРО09ИТ22SET ORDER TO лишнее. Быстрее будет без установки активного тега. SET ORDER TO 0 Для команд Select-SQL это роли не играет, поскольку они работают со своими собственными (внутренними) рабочими областями. Как следствие, никакие настройки рабочих областей (кроме глобальных вроде SET DELETED) не оказывают на их работу никакого влияния. Хотя на работу сканирующих команд вроде SCAN, LOCATE, CALCULATE это влияние окажет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2008, 17:55 |
|
|
start [/forum/topic.php?fid=41&fpage=148&tid=1587312]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 325ms |
total: | 463ms |
0 / 0 |