powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос
25 сообщений из 25, страница 1 из 1
Запрос
    #32295856
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый вечер...
Все та же проблема...

У меня собирается SQL-запрос...(в зависимости от условий)

Если:
1) просто бежать по дереву(TREEVIEW) и запускаю запрос
Например:
sele a.* from rascen a, spisediz sp Where a.Kodoglbaz = 1 and a.kded = sp.kded
2) Я произвел выборку по всей таблице с условием, а потом просто бегу по дереву... и запускаю этот-же запрос... с такими же параметрами...
Выборка по всей таблице:
sele a.* from rascen a, spisediz sp Where a.kded = sp.kded
Запрос:
sele a.* from rascen a, spisediz sp Where a.Kodoglbaz = 1 and a.kded = sp.kded

В обоих случаях =SYS(3054,1) пишет
Rushmore optimization level for table spisediz: none
Using index tag Kodoglbaz to rushmore optimize table rascen
Rushmore optimization level for table rascen: partial

При этом он работает:
1) В первом случае пару секунд
2) Во втором случае работает около минуты... а иногда машина просто виснит...

Почему так происходит... я непойму???
Надо что б он одинаково по скорости работал в обоих случаях...
Плиз ХЕЛП...
...
Рейтинг: 0 / 0
Запрос
    #32295860
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй убрать индекс по Kodoglbaz . Возможно он имеет очень низкую селективность и поэтому тормозит запрос...Эээх нет на фокса статистик
...
Рейтинг: 0 / 0
Запрос
    #32295892
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сенкс Crip
Помогло

Можно ли как-то на время вырубить только этот индекс из CDX???
Или что-то зделать что б он не тормозил запрос...
...
Рейтинг: 0 / 0
Запрос
    #32296415
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2 запроса выполнять
Код: plaintext
1.
2.
sele a.* from rascen a, spisediz sp Where a.kded = sp.kded ;
into cursor curTmp
sele * from curTmp Where Kodoglbaz =  1  
...
Рейтинг: 0 / 0
Запрос
    #32296538
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Crip:
Уже пробовал...

На запросе
sele * from curTmp Where Kodoglbaz = 1
Штопорится на одну минуту...

Че так происходит...
И че с этим делать???
...
Рейтинг: 0 / 0
Запрос
    #32296576
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ах да...Вот так правильно...
Код: plaintext
1.
2.
sele a.* from rascen a, spisediz sp Where a.kded = sp.kded ;
into cursor curTmp nofilter
sele * from curTmp Where Kodoglbaz =  1  
...
Рейтинг: 0 / 0
Запрос
    #32296622
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Crip:
Мне надо что б первый был запрос
1) sele * from rascen Where Kodoglbaz = 1

Потому что второй запрос сам по себе работает долго...

2) sele a.* from rascen a, spisediz sp Where a.kded = sp.kded ;
into cursor curTmp nofilter

в rascen около 300 000 записей + spisediz около 2 000 записей

После первого запроса остается максимум 1 000 записей
...
Рейтинг: 0 / 0
Запрос
    #32296656
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не совсем понял ситуацию....
Ну сделай наоборот...
Код: plaintext
1.
sele * from curTmp Where Kodoglbaz =  1  into cursor rascen nofilter
sele a.* from rascen a, spisediz sp Where a.kded = sp.kded 
...
Рейтинг: 0 / 0
Запрос
    #32296775
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sele * from curTmp Where Kodoglbaz = 1 into cursor rascen nofilter

Та же ситуация... подвисает на минуту...

Я даже больше скажу...
Обыкновенный USE таблицы по которой происходила выборка просто виснет...

Выборка такого содержания:
Sele * from rascen where UPPER('a')$UPPER(ALLTRIM(naim)) into cursor vrem
naim - memo-pole

что эта выборка такого делает над таблицей, что ее так начинает конючить???
...
Рейтинг: 0 / 0
Запрос
    #32296807
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2IgorProgrammer

> Выборка такого содержания:
Sele * from rascen where UPPER('a')$UPPER(ALLTRIM(naim)) into cursor vrem
naim - memo-pole
что эта выборка такого делает над таблицей, что ее так начинает конючить???


Это не выборка, это - смерть под парусом :(
Она во всех мемо-полях ищет вхождение регистронезависимого 'A'. Без этого никак?

Кстати, у тебя в индексах фильтров нет случайно?
...
Рейтинг: 0 / 0
Запрос
    #32296851
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:
Это не выборка, это - смерть под парусом :(
Она во всех мемо-полях ищет вхождение регистронезависимого 'A'. Без этого никак?


Если мона было :(...
Мне надо поиск буквы-слова-предложения в любом месте выражения...
Выражение - memo-поле...

А что оно делает с таблицей... Что потом даже юзнуть ее проблиматично???
Если не виснит, то юзается около минуты...
И как это побороть???

Кстати, у тебя в индексах фильтров нет случайно?
Нету... А надо???
...
Рейтинг: 0 / 0
Запрос
    #32297036
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2IgorProgrammer

> А что оно делает с таблицей... Что потом даже юзнуть ее проблиматично???

Просто в каждом твоем мемо ищет одну букву. Ни о какой оптимизации и не мечтай.

> И как это побороть???

Возможно нужен другой подход, типа предварительной индексации всех слов при вводе мемо.

> Нету... А надо???

Лучше не надо.
...
Рейтинг: 0 / 0
Запрос
    #32297077
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я знаю что нельзя оптимизировать...

Мне и не надо...

Просто после такого запроса таблица затыкается где-то...
Ее даже закрыть проблиматично... Просто фокс виснет...

пишу:
Sele * from rascen where UPPER('a')$UPPER(ALLTRIM(naim)) into cursor vrem

*после выполнения запроса

sele rascen
use

И свободен на минутки две
Если комп вообще не загрузнет...

Я уже и не говорю про SEEK по rascen, или SELECT из rascen
...
Рейтинг: 0 / 0
Запрос
    #32297267
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2IgorProgrammer

Код: plaintext
1.
2.
3.
*после выполнения запроса
sele rascen
use
И свободен на минутки две 


ИМХО, проблемы с файлово-дисковыми оперциями. Что у тебя с состоянием диска, со свободным местом и фрагментацией?
...
Рейтинг: 0 / 0
Запрос
    #32298051
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:

Свободно:
где комплекс 7 Гигов
где система 1,5 Гига

И такая же ситуация у пользователей...
А у них есть машины и по-серьезней чем моя...
...
Рейтинг: 0 / 0
Запрос
    #32298255
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2IgorProgrammer

А ты пробовал отслеживать размер временных файлов и потребление памяти?
...
Рейтинг: 0 / 0
Запрос
    #32298319
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:

А ты пробовал отслеживать размер временных файлов и потребление памяти?
А что мне это даст???

Возможно нужен другой подход, типа предварительной индексации всех слов при вводе мемо.

А помогает???
И сикоко будет весить CDX-файл???
...
Рейтинг: 0 / 0
Запрос
    #32298457
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2IgorProgrammer

>> А ты пробовал отслеживать размер временных файлов и потребление памяти?
> А что мне это даст???


Ну у тебя же фокс виснет, тебе не интересно, что происходит в это время с ситемой?

>> Возможно нужен другой подход, типа предварительной индексации всех слов при вводе мемо.
А помогает???
И сикоко будет весить CDX-файл???


В русском языке не так много слов, как кажется :) Сколько у тебя записей с мемо-полями?
...
Рейтинг: 0 / 0
Запрос
    #32298503
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:

В русском языке не так много слов, как кажется :) Сколько у тебя записей с мемо-полями?

Около 300 000 записей...
И будет рости...
...
Рейтинг: 0 / 0
Запрос
    #32298550
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно :( Я бы все равно попробовал, особенно, если мемо-поля большие.
А что происходит, если выбирать не в курсор а в новую таблицу
Sele * from rascen where UPPER('a')$UPPER(ALLTRIM(naim)) into table vrem
Может у тебя фильтр накладывается?
...
Рейтинг: 0 / 0
Запрос
    #32298572
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:
Понятно :( Я бы все равно попробовал, особенно, если мемо-поля большие.
А что происходит, если выбирать не в курсор а в новую таблицу
Sele * from rascen where UPPER('a')$UPPER(ALLTRIM(naim)) into table vrem
Может у тебя фильтр накладывается?


Фильтров нет...

А происходит тоже самое...
Затыкается на любом действии над таблицей rascen
...
Рейтинг: 0 / 0
Запрос
    #32300175
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2IgorProgrammer

Я имел в виду другое. Попробуй
select * ... nofilter
...
Рейтинг: 0 / 0
Запрос
    #32300203
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:

Я имел в виду другое. Попробуй
select * ... nofilter


Уже пробовал...
Эфект тот же... Затыкается таблица и усе тута
...
Рейтинг: 0 / 0
Запрос
    #32300240
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда не знаю, чем тебе помочь.. :(
У тебя там случайно каких нибудь антивирусников не понаставлено?
...
Рейтинг: 0 / 0
Запрос
    #32300317
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NNN:
Тогда не знаю, чем тебе помочь.. :(
У тебя там случайно каких нибудь антивирусников не понаставлено?


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


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