Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
CDX
|
|||
|---|---|---|---|
|
#18+
Всем доброе утро... Как можно организовать быстрый поиск и выборку из файла без CDX... Причем поиск сразу по нескольким полям... Файлы огромные... От пол-лимона до лимона записей... А то эти CDX достали просто... чуть-че сразу переиндексируйте базу... А занимают они больше чем сами DBF... Как можно побороть ошибку в DBF: Ключ не уникален. Сам DBF при этом не хочет юзаться... Плиз хелп... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2003, 12:38 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
>Как можно организовать быстрый поиск и выборку из файла без CDX... --Наверное вы имели в виду "без индексов" --- никак. Для того индексы и нужны >Файлы огромные... От пол-лимона до лимона записей... --Фокс работает с файлами и до 1 000 000 000 записей. >А то эти CDX достали просто... чуть-че сразу переиндексируйте базу... Может работа с таблицами ведется некорректно.... У меня если индексы и падают -- то КРАЙНЕ РЕДКО. Может просто разобраться с буфферизацией и блокировками... Или у вас частые проблемы с сетью? >А занимают они больше чем сами DBF... Увеличение числа индексов ведет к увеличению времени, которое надо на обновление\создание записей...поэтому к проектированию тегов надо подходить серьезно >Как можно побороть ошибку в DBF: Ключ не уникален. Сам DBF при этом не хочет юзаться... попробуй открыть таблицу на модификацию и изменить тип индекса на regular потом исправь ошибку и тип индекса верни обратно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2003, 13:22 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
Nikolai Kremko: Пример... У меня есть файл на 80 метров...(более лимона записей) Он связан с 5 таблицами... (вот уже 5 индексов что бегать по ней) И пару индексов для поиска по таблице... Его CDX занимает 40 метров... По-поводу LOCAT-a(по нескольким полям) и SEEK-а у меня нет вопросов, работает мгновенно... Но есть недостатки: 1) Инсталляционный пакет(развернутый) занимает на 40 метров больше(если учитывать только этот файл). 2) Если задача повисла... то при ее завершении, шанс поламаться у CDX - просто огромный(почемуто)... 3) Переиндексация происходит медленно... 4) Если кажды раз создавать индексы: index on поле1 tag поле1 of файл1, то это занимает около 20 секунд на каждый индекс. А вот еще одна проблема появилась от которой у меня просто волосы дыбом становятся... У меня собирается SQL-запрос...(в зависимости от условий) Если просто бежать по дереву(TREEVIEW), то он работает довольно быстро... Если же я произвел выборку по всей таблице с условием, а потом просто бегу по дереву... и запускаю этот-же запрос... с такими же параметрами... то он работает около минуты... а в некоторых случаях машина просто виснит... Хотелось как-нибудь обойтись без CDX... Может есть какой-то способ создать индекс... но очень быстро... И хотелось бы услышать предложении по-поводу SQL-запроса. Всем сенкс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2003, 14:01 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
2IgorProgrammer > 2) Если задача повисла... то при ее завершении, шанс поламаться у CDX - просто огромный(почемуто)... Программа сетевая/несетевая? Версия Windows? Объем памяти? Очень похоже, что у тебя с памятью проблемы (возможно с оперативной, а может быть и с виртуальной) > 3) Переиндексация происходит медленно... 4) Если кажды раз создавать индексы: index on поле1 tag поле1 of файл1, то это занимает около 20 секунд на каждый индекс. В обычных условиях - это достаточно редкие операции. Если часто летят индексы, надо прежде всего определить почему. > У меня собирается SQL-запрос...(в зависимости от условий) Если просто бежать по дереву(TREEVIEW), то он работает довольно быстро... Если же я произвел выборку по всей таблице с условием, а потом просто бегу по дереву... и запускаю этот-же запрос... с такими же параметрами... то он работает около минуты... а в некоторых случаях машина просто виснит... В sql-запросах индексы используются достаточно активно. Есть такая полезная функция SYS(3054), она позволяет определить, где затыкаются запросы. > Хотелось как-нибудь обойтись без CDX... Не стоит изобретать велосипед. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2003, 16:26 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
NNN: Программа сетевая/несетевая? Версия Windows? Объем памяти? Очень похоже, что у тебя с памятью проблемы (возможно с оперативной, а может быть и с виртуальной) Сетевая... Windows разный... Объем памяти разный... Есть разные пользователи... У некоторых даже ниже 1 пинька... Там запустив переиндексацию можно на пару часиков идти гулять... А как-то процесс переиндексации можно ускорить? В обычных условиях - это достаточно редкие операции. Если часто летят индексы, надо прежде всего определить почему. Пользователи на столько грамотные... Что иногда снимают задачу... недождавшись ее завершения... есть которые любят жать на резет... И при этом почему-то ломаются не сами DBF а их индексы... В sql-запросах индексы используются достаточно активно. Есть такая полезная функция SYS(3054), она позволяет определить, где затыкаются запросы. Про SYS(3054) сказано что есть три уровня оптимизации... Поставил SYS(3054,1) и на SYS(3054,11), эфект тот же... минута на выполнение... И не сказано как проверить где затыкается запрос.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 13:21 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
2IgorProgrammer Есть разные пользователи... У некоторых даже ниже 1 пинька... Там запустив переиндексацию можно на пару часиков идти гулять... А как-то процесс переиндексации можно ускорить? Да мне что-то, кроме как наращивание аппартных ресурсов, ничего на ум не приходит. > Пользователи на столько грамотные... Что иногда снимают задачу... недождавшись ее завершения... есть которые любят жать на резет... И при этом почему-то ломаются не сами DBF а их индексы... А ты буфекризацию используешь? Посмотри сколько времени уходит на открытие-закрытие таблиц и индексов. Глупо конечно, но с такими юзерами, может быть разумнее держать все закрытым и окрывть по мере надобности. > Про SYS(3054) сказано что есть три уровня оптимизации... Поставил SYS(3054,1) и на SYS(3054,11), эфект тот же... минута на выполнение... И не сказано как проверить где затыкается запрос.... А оно разве не пишет, какие индексы используются, создаются они при этом или уже существуют? Или опять я что-то путаю? :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 14:41 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
NNN: А ты буфекризацию используешь? Посмотри сколько времени уходит на открытие-закрытие таблиц и индексов. Глупо конечно, но с такими юзерами, может быть разумнее держать все закрытым и окрывть по мере надобности. Когда используешь более 100 таблиц... А если добавить еще и 100 файлов индексов... Мона и неуследить че открыл, а че закрыл... Зачем лишняя головная боль... А оно разве не пишет, какие индексы используются, создаются они при этом или уже существуют? Или опять я что-то путаю? :( Я че-то такого ни че не надыбал :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 17:03 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
2IgorProgrammer > Зачем лишняя головная боль... Ну это тоже правильно. Ты уж сам решай, как из головных болей выбирать меньшую. > Я че-то такого ни че не надыбал :( Пишу Код: plaintext 1. Получаю Код: plaintext 1. Проверяй селекты, может есть возможность оптимизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 17:23 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
NNN: И впрям оно выводит на скрин... Но если есть хоть одна форма... Начинает рисовать на ей... Как убрать эту нарисовку с формы... И рисовать значения где-нибудь еще??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 18:43 |
|
||
|
CDX
|
|||
|---|---|---|---|
|
#18+
2IgorProgrammer > И впрям оно выводит на скрин... Но если есть хоть одна форма... Начинает рисовать на ей... Код: plaintext > Как убрать эту нарисовку с формы... И рисовать значения где-нибудь еще??? Код: plaintext 1. 2. Подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2003, 22:16 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32292531&tid=1597718]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 285ms |
| total: | 531ms |

| 0 / 0 |
