|
Поиск данных
|
|||
---|---|---|---|
#18+
Здравствуйте. подскажите, пожалуйста, как правильно осуществить поиск данных в dbf. Есть поле фамилия и нужно по первым нескольким символам найти человека, база большая и atc слишком долго ищет. Заранее, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:11 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Atc - вообще ничего не ищеть. Видимо речь о Locate. Самое быстрое SEEK при наличии INDEX ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:14 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Нет. Использован seek, но он не находит. Например: фамилия Иванов, ввели Ива. Seek не ищет. Может не сделаны какие-то set..? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:17 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Гость_анонимНет. Использован seek, но он не находит. Например: фамилия Иванов, ввели Ива. Seek не ищет. Может не сделаны какие-то set..? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:21 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Привидите выражение индекса ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:21 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
select 0 use 'kart.dbf' in 0 alias kart if !file('kart.idx') index on fam to &kart.idx endif set index to &kart.idx ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:24 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Боже мой, где так учать писать? На кой ляд столько макроподстановок? Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:27 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Гость_Аноним set index to &kart.idx А почему со знаком макроподстановки? Просто - kart.idx. Тем более странно, что не возникает ошибки программы при выполнении set index to &kart.idx ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:28 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
проходящий.Боже мой, где так учать писать? На кой ляд столько макроподстановок? Код: plaintext 1. 2. 3. 4. 5.
При отсутствии kart.idx строка set index to kart вывалит ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:29 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
vkluchНу а где сам SEEK _fam-вводим select kart set order to fam go top seek _fam ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:36 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:46 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
А _fam случайно не 'Ива' + куча пробелов. Тогда никогда не найдете. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 15:56 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
stoopper проходящий.Боже мой, где так учать писать? На кой ляд столько макроподстановок? Код: plaintext 1. 2. 3. 4. 5.
При отсутствии kart.idx строка set index to kart вывалит ошибку Во-первых, код мной только слегда подправлен и я не задавал его логику. Во-вторых, а что делает конструкция перед set index? Уж не создает ли новый при отсутствии kart.idx? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 16:13 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
проходящий. stoopper проходящий.Боже мой, где так учать писать? На кой ляд столько макроподстановок? Код: plaintext 1. 2. 3. 4. 5.
При отсутствии kart.idx строка set index to kart вывалит ошибку Во-первых, код мной только слегда подправлен и я не задавал его логику. Во-вторых, а что делает конструкция перед set index? Уж не создает ли новый при отсутствии kart.idx? ВИНОВАТ'C! Конечно, не сообразил.. Тоже как-то набросился только на макрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 17:28 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Не проще? 1. Получить значение для поиска 2. SELE * from table where fam=ishem и не думать о наличии индексов. И еще, sele 0 use in 0 (первое излишне) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2008, 18:11 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
BMJНе проще? 1. Получить значение для поиска 2. SELE * from table where fam=ishem и не думать о наличии индексов. И еще, sele 0 use in 0 (первое излишне) Скорее, излишне второе, ибо далее идет index по активному алиасу. И с Select тоже, ведь, нужно-то еще и перейти к этой записи, а seek по индексу и так использует Рашмор. Ну, можно, конечно, сделать Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2008, 01:49 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
> Автор: BMJ > Не проще? > 1. Получить значение для поиска > 2. SELE * from table where fam=ishem > и не думать о наличии индексов. Конечно проще. Но думать о наличии индексов и их качестве НУЖНО ВСЕГДА!!! Не смотря на "проще не думать" Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2008, 05:18 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
Galyamov Rinat > Автор: BMJ > Не проще? > 1. Получить значение для поиска > 2. SELE * from table where fam=ishem > и не думать о наличии индексов. Конечно проще. Но думать о наличии индексов и их качестве НУЖНО ВСЕГДА!!! Не смотря на "проще не думать" Posted via ActualForum NNTP Server 1.4 Да ко всему не забывайте что наличием нормального индекса на поле fam и select быстрее будет делаться. Это я так просто поумничать напоследок ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2008, 07:12 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
SELECT * from table where fam like '%ishem%' Тогда будет искать по вхождению. И лучше с учетом регистра. Типа ishem=UPPER(ishem) Тогда SELECT * from table where upper(fam) like '%ishem%' ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2008, 14:58 |
|
Поиск данных
|
|||
---|---|---|---|
#18+
> Автор: miv32 > Тогда SELECT * from table where upper(fam) like '%ishem%' . Наверное lower? -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2008, 15:05 |
|
|
start [/forum/search_topic.php?author=janco&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 434ms |
total: | 607ms |
0 / 0 |