|
|
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
есть 2 таблицы, 1 таблица основной список клиентов, 2 таблица из филиала содержит маленький список клиентов, подскажите пожалуйста как сделать чтобы производился поиск по всем именам клиентов из 2 (маленькой таблицы) в первой таблице с последуюшим выводом найденных????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2008, 16:15 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Ключи..Индексы надеюсь есть? select * from vtoray where seek(kod,"pervay","kod") into ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2008, 17:57 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Я правильно понимаю, что нужно вывести строки, которые содержаться и там и там??? Select _1.* from _1 inner join_2 on _1.name==_2.Name into cursor ttt brow Ну или, смотря что надо Select _2.* from _1 inner join_2 on _1.name==_2.Name into cursor еее brow Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 08:25 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
индексный файл cdx имеется у большого файла но в другом каталоге, а как его использовать чтобы поиск производился быстрее? запрос - Код: plaintext производится очень долго, я понимаю что надо использовать индексный файл, но как, где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 11:55 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. прочитайте про рашмор + понимание оптимизации в хелпе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 12:16 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
index on deleted() tag del binary про это также есть в хелпе, попробуйте почитать и поискать здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 12:22 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
mirtiиндексный файл cdx имеется у большого файла но в другом каталоге, а как его использовать чтобы поиск производился быстрее? запрос - Код: plaintext производится очень долго, я понимаю что надо использовать индексный файл, но как, где? Индексный файл используется автоматически, если он подключен. При этом его физическое положение роли не играет. Ваша фраза "индексный файл имеется ... но в другом каталоге" надо понимать так, что он находится не там, где сам "большой файл"? Вообще, факт использования или не использования индекса можно проверить при помощи функции SYS(3054) примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Ну, а то, что запрос "долго работает" может быть следствие большого количества записей, которые попадают в выборку. Кстати, если во второй (маленькой) таблице возможны дубли (повторы) названий клиентов, то INNER JOIN использовать нельзя. Необходимо переписать запрос на IN или EXISTS примерно так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 14:19 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
ВладимирМВаша фраза "индексный файл имеется ... но в другом каталоге" надо понимать так, что он находится не там, где сам "большой файл"? Да сама основная база лежить в каталоге - flip\base\klients.dbf а индексный файл лежит в - flip\cdx\klients.cdx при выполнении комманды =SYS(3054,12) пишет что оптимизация для таблицы отсутствует, что мне дальше сделать чтобы она присутствовала :-) ? или как соединить индексный файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 16:18 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Ну, если индекс лежит отельно от файла, то подключить его можно таким образом Код: plaintext 1. 2. 3. 4. 5. Однако проблема в том, что в случае раздельного существования файла DBF и файла CDX есть риск их рассинхронизации. В том смысле, что содержимое индексного файла не соответствует содержимому табличного файла (данные устарели). Как правило, в этих случаях после подключения индекса выполняют переиндексацию. Хотя этот процесс занимает довольно много времени. Впрочем, попробуйте сначала проверить выполнение запроса с подключенным индексом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 16:30 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
перекинул индексные файлы в тот же каталог где и бдфки, проиндексировал главный файл заново, маленькие таблицы которые поступают тоже индексирую, но запрос всеравно происходит медленно, в главной таблице около 1млн 700 тыс. записей запрос выполняется около 27 секунд!!!!!! почему? что я не так делаю??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 11:18 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Для начала, надо проверить используются ли эти самые индексы. При помощи функции SYS(3054). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 11:26 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
проверил данной функцией, пишет что оптимизация таблиц отсутствует! :(( почему? ну как же ее тогда включить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 11:53 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Это значит, что по мнению оптимизатора данный индекс использовать нельзя. Такое возможно, если индекс создан в режиме COLLATE отличном от текущей настройки SET COLLATE. Используй функцию ATAGINFO() после открытия таблицы чтобы посмотреть реквизиты открытого индекса. Обрати внимание на 6 столбец. Затем сравни с тем, что возвращает ?SET("COLLATE") Кроме того, оптимизатор не использует индексы, имеющие FOR-условия (это 4 столбец полученного по ATAGINFO() массива), кроме некоторых исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 11:59 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
ATAGINFO() возвращает - 0 (ноль) ?SET("COLLATE") возврашает - Machine ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 12:26 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
извиняюсь!!! ATAGINFO - возврашает 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 12:28 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
mirtiизвиняюсь!!! ATAGINFO - возврашает 1 Почитайте, пожалуйста, HELP по функции ATAGINFO(). Используется примерно так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 13:29 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
вот что показала функция ATAGINFO: 1.KLIENTS 2.REGULAR 3.NUMP 4.lAINDEX 5.ASCENDING 6.MACHINE SET("COLLATE") возврашает - Machine ВладимирМОбрати внимание на 6 столбец. Затем сравни с тем, что возвращает ?SET("COLLATE") шестой столбец совпадает с полученным результатом от функции SET пожалста скажите что надо делать дальше! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 14:13 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
ВладимирМКроме того, оптимизатор не использует индексы, имеющие FOR-условия (это 4 столбец полученного по ATAGINFO() массива), кроме некоторых исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 14:46 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Вы сильно не ругайте меня,я новичок в фоксе, а 4 столбец это же имя масива в который я получаю эти значения, выходит что быстрее поиск выполняться уже не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 15:44 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
mirtiВы сильно не ругайте меня,я новичок в фоксе, а 4 столбец это же имя масива в который я получаю эти значения, выходит что быстрее поиск выполняться уже не будет? Вы бы все-таки HELP прочитали. Не может 4 столбец содержать имя массива. Там содержится выражение, которое указывается в FOR-условии команды INDEX. Как Вы вообще смотрите содержимое этого массива? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 20:22 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
вот что получилось: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. четвертый столбец пустой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2008, 09:13 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
> Индекс 1 > Name= Kod > Type= Regular > Key= alltrim(seria)+alltrim(nomer) > Filter= > Order= Ascending > Collate= Machine > > Индекс 2 > Name= FIO > Type= Regular > Key= names > Filter= > Order= Ascending > Collate= Machine А теперь посмотри на условия индекса (key = ) и условия объединения: _1.name==_2.Name Я индекса по "name" не вижу. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2008, 11:02 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Индексный файл используется автоматически, если он подключен. а как узнать подключен к файлу индексный файл и как его имя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2008, 14:26 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
не pro в fox ВладимирМ Индексный файл используется автоматически, если он подключен. а как узнать подключен к файлу индексный файл и как его имя? Структурный индексный файл подключается автоматически. Если же хочется посмотреть список подключенных индексных файлов, то это можно сделать так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2008, 18:20 |
|
||
|
Выборка данных из таблицы
|
|||
|---|---|---|---|
|
#18+
В каких случаях данный структурный файл подключается, а в каких нет? Имеется система позволяющая выгружать данные в dbf файл. В некоторых случаях при открытии dbf файла требуется cdx файл. Т.е. вопрос наверное звучит так: индексный файл создается автоматически при создании dbf файла или это реализация программистов писавших систему - возможна запись в файл dbf без использования cdx файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2008, 10:30 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35348678&tid=1587700]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 437ms |

| 0 / 0 |
