|
|
|
индексация
|
|||
|---|---|---|---|
|
#18+
В программе есть функция переиндексации базы. На всех базах индексируется относительно быстро, но на одной просто ОЧЕНЬ медленно (но индексирует, но ОЧЕНЬ медленно). Вопрос: с чем это м.б. связано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 10:18 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Так если бы.... В процедуре переиндексации есть: REMOVE TABLE <имя индексируемой таблицы> - вот в этой строчке и тормозит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 12:21 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Гость 0611Так если бы.... В процедуре переиндексации есть: REMOVE TABLE <имя индексируемой таблицы> - вот в этой строчке и тормозит... А это зачем при индексировании? Так и базу похерить недолго при убиении задачи во время индексирования. тут почитай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 12:28 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
А не я автор, а шишки мне достаются... Спасибо за ссылку... будет время перепишу ... но все же не понятно почему в этот момент тормозит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 13:07 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Гость 0611А не я автор, а шишки мне достаются... Спасибо за ссылку... будет время перепишу ... но все же не понятно почему в этот момент тормозит... Может с контейнером БД что не так. Такой код есть при индексировании? : Код: plaintext 1. 2. 3. Но лучше перепиши, а то сглючит - на восстановление больше времени потратишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 14:16 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Такого в коде точно нет... но без remove вообще не работает(((... попробую как нить переписать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 14:27 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Гость 0611Такого в коде точно нет... но без remove вообще не работает(((... попробую как нить переписать Добавь: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 15:01 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Код : SELECT tables_ SCAN kod_=tables_.kod ntable=ALLTRIM(tables_.ntable) SET SAFETY OFF IF FILE(pathtod+Alltrim(ntable)+'.dbf')=.T. IF INDBC(ntable,"TABLE") REMOVE TABLE &ntable && !!!!!!тут тормозит ENDIF IF File(pathtod+Alltrim(ntable)+'.cdx')=.T. DELETE FILE pathtod+ALLTRIM(ntable)+'.cdx' && óäàëåíèå èíäåêñíîãî ôàéëà ENDIF SELECT tables_ use_tabl='use '+ALLTRIM(pathtod)+ALLTRIM(ntable)+' alias ntables exclusive in 0' ON Error a='' &use_tabl ON Error IF !USED('ntables') &use_tabl ENDIF SELECT index_table SCAN FOR kod=tables_.kod nkey=ALLTRIM(index_table.KEY) ntag=ALLTRIM(index_table.TAG)+IIF(index_table.TYPE='C' or index_table.TYPE='P',' CANDIDATE','') IF index_table.Type='C' Or index_table.Type='P' Select Count(&nkey)As kcodes,&nkey as codes From ntables Group By &nkey Into Cursor cur1 Select * From cur1 Where kcodes>1 Into Cursor cur2 IF RECCOUNT('cur2')<>0 MESSAGEBOX('Ошибка!') *** ELSE SELECT ntables INDEX ON &nkey TAG &ntag ENDIF ELSE SELECT ntables INDEX ON &nkey TAG &ntag ENDIF SELECT index_table ENDSCAN SELECT ntables use ntable=ALLTRIM(ntable)+'.dbf' addtabl='ADD TABLE '+ALLTRIM(pathtod)+ALLTRIM(tables_.ntable)+'.dbf' &addtabl ELSE **** ENDIF SET SAFETY On ENDSCAN tables_ - таблица, где хранятся имена таблиц базы index_table - тут хранятся индексы для таблиц базы а база рашьне открывается exclusive ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 15:40 |
|
||
|
индексация
|
|||
|---|---|---|---|
|
#18+
Гость 0611Код : SELECT tables_ ... а база рашьне открывается exclusive Руками в IDE запусти, а потом свою индексацию. проверить чтобы. Вставить надо где нибудь между открытием базы и SELECT tables_: Код: plaintext 1. Или руками в IDE запусти, а потом свою индексацию. проверить чтобы. Посмотри еще размер *.DBC и *.DCT файлов. Думаю они совсем не маленькие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34917804&tid=1588579]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
274ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 541ms |

| 0 / 0 |
