|
|
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Ребята! Всем привет! Вопрос простой. Есть 2 простых индекса. Делается новая запись при активном первом индексе. Естественно при SEEK она при первом индексе (SET INDEX TO 1) ловится, при втором - нет. Вопрос следующий- можно ли без переиндексации по второму сделать так, что бы второй индекс тоже перестроился автоматом? И второй вопрос - новая позиция не ловится - это понятно, но нет ли засад с поиском старых позиций (нет ли смещения по ним)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:08:47 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
IdSyzВопрос следующий- можно ли без переиндексации по второму сделать так, что бы второй индекс тоже перестроился автоматом? Переиндексация ВСЕХ индексов при добавлении записи - автомат IdSyzЕстественно при SEEK она при первом индексе (SET INDEX TO 1) ловится, при втором - нет. поэтому приводите свой код (пополнее) в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:21:33 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Andrey Ts Переиндексация ВСЕХ индексов при добавлении записи - автомат естественно, если соотв. файлы подключены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:22:48 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Тогда вопрос непростой. После set index to 1 flock() append blank replace field with "skahceg" rlock seek(&"skahceg") && found() = .T. !!! set index to 2 seek(&"skahceg") && found() = .F. !!! Значит, гадском королевстве - в смысле, в проге! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:25:03 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
HELP: SEEK() SEEK(eExpression [, nWorkArea | cTableAlias [, nIndexNumber | cIDXIndexFileName | cTagName]]) ... nIndexNumber Specifies the number of the index file or tag that is used to search for the index key. nIndexNumber refers to the index files as they are listed in USE or SET INDEX. Open .IDX files are numbered first in the order in which they appear in USE or SET INDEX. Tags in the structural .CDX file (if one exists) are then numbered in the order in which they were created. Finally, tags in any open independent .CDX files are numbered in the order in which they were created. For more information about index numbering, see SET ORDER. ... cTagName Specifies a tag of a .CDX file that is used to search for the index key. The tag name can be from a structural .CDX file or any open independent .CDX file. Note The .IDX file takes precedence if duplicate .IDX file and tag names exist. Remarks ... If you omit the nIndexNumber, IDXIndexFileName, and cTagName arguments, SEEK( ) uses the master controlling index or index tag to search for the index key. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 09:35:16 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
1. Если индексные файлы типа IDX, то переиндексация обязатльна, если это CDX- то все автомат. 2. А почему должен второй поиск дать .t., что ключ в обеих индексах одинаковые? Тогда в чем разница индексных выражениях? 3. Если CDX, то 'set order to <ключ1>' или 'set order to <ключ2>' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 10:22:51 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Да, забыл сказать, что индексы – IDX. Ключи, конечно, разные – это я некорректно указал. Ситуация следующая: В таблице, коротко говоря, 2 поля. Индекс по первому и индекс по второму. Делаю вставку строки при первом индексе. После этого по первому индексу первое поле ловится, а по второму второе – нет. Только после переиндексации. Но, видимо, так просто эту проблему не решить. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 10:28:08 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Andrey Ts Переиндексация ВСЕХ индексов при добавлении записи - автомат естественно, если соотв. файлы подключены Тебе уже подсказали - Подключи оба индекса!!! У тебя в коде не показано как подключяются/создаются индексы. 2 Samvel не важно IDX или CDX, если все индексные файлы (для IDX), индексы подключены они переиндексируются автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 10:56:28 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
k qwertyqwerty Kогда я уточняю idx или cdx имею ввиду, что в первом случае idx файлы должны быть подключены, как ты говоришь, то-есть открыты вместе с dbf (или потом), а cdx открывается автомат. Видимо автор вопроса не различает значение термин "активен" и "подключен" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 11:07:21 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Индексы 1 и 2 созданы. Запускается программа. Use tabl Set index to 1 Честно говоря, всегда работал только с одним индексом. Правильно ли будет дописать SET INDEX TO 2? И не будет ли это ошибкой? Или как раз так и активизируются оба индекса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 11:56:25 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
IdSyzUse tabl Set index to 1 Мдааа. Хелп - великая вещь... VFP HELP: USE [[DatabaseName.]Table | SQLViewName | ?] [INDEX IndexFileList | ? ... INDEX IndexFileList Specifies a set of indexes to open with the table. If a table has a structural compound index file, the index file is automatically opened with the table. IndexFileList can contain any combination of names of single-entry .IDX and compound .CDX index files. You don’t have to include the file name extensions for index files unless an .IDX and a .CDX index file in the index file list have the same name. The first index file named in the index file list is the master controlling index file, which controls how records in the table are accessed and displayed. However, if the first index file is a .CDX compound index file, records in the table are displayed and accessed in physical record order. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:04:22 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Ну когда мы приобретем привычку смотреть в HELP? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:05:25 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
А help почитать ...? : "Индексы 1 и 2 созданы." Ну и что что ты создал индексы ... . "Запускается программа. Use tabl Set index to 1" В этом примере ты вообще индексы не подключаешь/открываешь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:06:11 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Sergey ChНу когда мы приобретем привычку смотреть в HELP? (c) кто-то: Иногда решительный шаг вперед - результат хорошего пинка сзади ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:13:58 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Можно так: Индексы 1 и 2 созданы. Запускается программа. Use tabl Set index to 1.idx Set index to 2.idx additive Set odrer to 1 (номер по порядку, а не имя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:16:09 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Sergey Ch Ну когда мы приобретем привычку смотреть в HELP? Интересно, откуда IdSyz вообще узнал о команде Set index : ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:19:11 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
qwertyqwerty Интересно, откуда IdSyz вообще узнал о команде Set index : Может кто в форуме подсказал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 13:54:42 |
|
||
|
Два простых индекса - два мира, два детства
|
|||
|---|---|---|---|
|
#18+
Ладно, ладно... Принимаю. Буду почаще хелп изучать. В любом случае всем спасибо. Но у меня еще есть вопрос, так сказать, стратегический - вопрос безопасности индексов. Подскажите, как выставить признак необходимости переиндексации баз данных? И в каких ситуациях индексы слетают, на каких операциях. Только на вводе новой информации в индексные поля или когда-нибудь еще? Нужна ли так сказать, профилактическая индексация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 14:58:48 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=317&tid=1594077]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 357ms |

| 0 / 0 |
