Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / дикие тормоза при простом Update / 11 сообщений из 11, страница 1 из 1
26.06.2007, 07:31
    #34618950
WertAndrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Народ, подскажите в чем проблема..
при выполнении данной команды программа задумывается на несколько минут!!!!
"UPDATE PRIVARC SET dat_otm=CTOD('25.06.2007') where RECNO()=687963"
строка формируется программно, сама таблица сетевая
...
Рейтинг: 0 / 0
26.06.2007, 08:16
    #34618973
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
может кто то работает с таблицей и програмно накладывает блокировки на отдельные строки ?
программа то сетевая
...
Рейтинг: 0 / 0
26.06.2007, 09:09
    #34619042
Al_fa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Потому что такая команда будет тупо перебирать все 687962 , вычисляя на каждой функцию recno(), пока доберется до 687963. Используй в условии ключевое поле по которому создан индекс или перепеши так :
Код: plaintext
1.
2.
go  687963  in PRIVARC
replace next  1  PRIVARC.dat_otm with CTOD('25.06.2007') in PRIVARC
...
Рейтинг: 0 / 0
26.06.2007, 09:10
    #34619045
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
попробуй так:
Код: plaintext
1.
go  687963  in PRIVARC
repl  in PRIVARC dat_otm with CTOD('25.06.2007')
Не рекомендую использовать номер записи как первичный ключ, он может измениться после выполнения команды PACK
...
Рейтинг: 0 / 0
26.06.2007, 12:46
    #34619805
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Dima TНе рекомендую использовать номер записи как первичный ключ, он может измениться после выполнения команды PACK
Ваше заявление верно, но указанный выше способ поиска через GOTO самый быстрый и эффективный из существующих в реляционных базах данных...
...
Рейтинг: 0 / 0
26.06.2007, 13:49
    #34620051
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Sergey Ch Dima TНе рекомендую использовать номер записи как первичный ключ, он может измениться после выполнения команды PACK
Ваше заявление верно, но указанный выше способ поиска через GOTO самый быстрый и эффективный из существующих в реляционных базах данных...
Может быть в данном случае этот способ имеет право быть использованным, но как исключение в угоду производительности (ее явно WertAndrey не хватает)
Я предупредил чтобы из исключения правило не делал, т.к. у этого подхода очень серьезные ограничения, а то можно на такие грабли наступить, что мало не покажется.
...
Рейтинг: 0 / 0
27.06.2007, 06:53
    #34621723
WertAndrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Всем спасибо!!!
не знал что UPDATE перебирает записи, если указан RECNO() , буду иметь ввиду!!
...
Рейтинг: 0 / 0
27.06.2007, 08:37
    #34621805
kolobok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Забавно. А как ты узнал, что RECNO()=687963?
...
Рейтинг: 0 / 0
27.06.2007, 08:48
    #34621818
дикие тормоза при простом Update
kolobokЗабавно. А как ты узнал, что RECNO()=687963?
Как-как... Из browse например... На текущей записи сделал recno() и получил номер...
...
Рейтинг: 0 / 0
27.06.2007, 08:52
    #34621821
дикие тормоза при простом Update
Станислав С...кий kolobokЗабавно. А как ты узнал, что RECNO()=687963?
Как-как... Из browse например... На текущей записи сделал recno() и получил номер...
Примерно также (в ФОКСЕ: recno() -> в Oracle: rowid) можно отредактировать текущую запись на "БОЛЬШИХ" серверах БД...
...
Рейтинг: 0 / 0
27.06.2007, 08:59
    #34621831
kolobok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дикие тормоза при простом Update
Я это к тому, почему именно RECNO()=687963? Ты что все 687963 просмотрел, чтобы найти запись, требующую обновления? Может все-таки стоит смотреть в сторону поиска по каким-либо определенным критериям, например, по значениям в поле dat_otm.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / дикие тормоза при простом Update / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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