Re: Принудительный сброс данных из памяти на диск | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Saratoga!
Да, они сидят в буфере ОС, и выпихнуть их оттуда можно лишь "новой" FLUSH (той что в VFP9 таки "починили") ну или через АПИ, но там есть свои нюансы... P.S. Сегодня пользоваться SCATTER/GATHER как-то нехорошо - есть буферизация которая делает в принципе то-же самое, но немного лучше и проще Хотя к описываемой проблеме это не имеет никакого отношения. ------------------ WBR, Igor |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
FLUSH был хорош на FPD без сети. ибо сервера фс:е равно даные кешировали - т.е сами у себя на уме А как работает 1104 собсна вопрос к разработчикам Выня имхо. Ибо где-то раньше я или слышал или читал, то как раз на ней и висела WriteBuffer
------------------ Осторожно - глисты! |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Самый надежный способ сбросить данные на диск это после Gather просто написать USE и отключить таблицу
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Денис sys(1104) просто освобождает внутренний кэш фокса в который попадают данные при работе с таблицами и sql запросами. Особенно это заментно с большими запросам с большими выборками - просто фокс освобожадет память нахапанную у виндузы. А для таблиц это особенно заментно при использовании одной таблицы для двух экземпляров формы. Если Вадим Циганков (Combat) не полениться найти тот пример который работал только с использованием sys(1104) - то можно в этом убедится.
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
Combat Сообщений: 816 Откуда: Клайпеда Дата регистрации: 26.10.2000 |
Пример снёс за ненадобностью, а функция в то время была не документированная... Помог ты мне здорово тогда. ------------------ |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Жаль - хорошая была демонстрация использования именно sys(1104) главное наглядная
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, piva!
Не поможет Фокс то свой буфер сбросит (он и по FLASH его сбрасывает) а вот ОС - не факт. Да и такая работа с таблицами неслабо напрягает - это ж всё кодировать надо ------------------ WBR, Igor |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Hel!Riser!
Цитата:Ага, и под собственно DOS-ом Цитата:Windows не имеет к этому ровно никакого отношения - это функция сброса ФОКСОВЫХ кэшей - т.е. в частности фокс не читает постоянно данные с диска, а считав один раз при всех дальнейших обращениях возвращает данные из этого кэша. Это легко увидеть, если запустить параллельно 2 процесса - один будет писать скажем каждые 0.1 секунды новые данные в таблицу, а другой столь-же часто их оттуда считывать - и мы увидим, что "обновляться" данные будут 5-ти секундными интервалами (т.е. 5 секунд будет считываться одно и то-же значение, следующие 5 секунд другое и т.д.) Эти 5 секунд - настройка SET REFRESH x, 5 - т.е. второй параметр. И вот как раз SYS(1104) и позволяет "сбросить" этот кэш и считать с диска свежие данные. В VFP9 улучшили SET REFRESH (можно даже вообще отключить кэш и данные ВСЕГДА будут с диска считываться - ну точнее из кэша ОС, а он работает по иным алгоритмам и в принципе всегда актуален), а также исправили застарелый баг - то что непосредственно USE ... AGAIN НЕ сбрасывали кэш (т.к. кэш он в фоксе один на все открытые копии таблицы) и получалось что там "устаревшие" данные - ибо обновление откладывалось на те-же 5 секунд... А к ЗАПИСИ этот SYS() отношения AFAIK не имеет - там FLUSH рулит... ------------------ WBR, Igor |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
И еще после USE КОРРЕКТНО завершать работу виндузы
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Принудительный сброс данных из памяти на диск | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
Все это от лукавого
Электриков надо пинать, блоки бесперебойного питания ставить, делать отдельную эл.проводку для компов.... |
© 2000-2024 Fox Club  |