|
|
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
> Автор: Евгений_Анатольевич > Вот такие пироги с котятами :) драйвера тут не при чем :) Драйвера здесь причем в первую очередь, потому что они транслируют и в данном случае выполняют ваш запрос и если они старые, то они могут не понимать новый синтаксис языка. > А зачем? Не очень понял.. предлагают посчитать количество записей уже на клиенте, что на мой взгляд неправильно изначально, но как вариант, можно использовать -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:14 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
> Автор: Евгений_Анатольевич > SELECT COUNT(*) FROM (SELECT DISTINCT NAME1 FROM DB) TMP > Теперь можно вернуться к первоначальному вопросу: > так какой же из алгоритмов все-таки оптимальнее и быстрее??? А здесь, я не понял, запрос всего один, и алтернативы я не вижу. Какие алгоритмы вы имели в виду? -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:16 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
Я делаю так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. А что касается того что быстрее то можно используя Time или GetTickCount посчитать сколько времени тратится на каждый из способов С уважением, Николай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:24 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
Игорь ГорбоносА здесь, я не понял, запрос всего один, и алтернативы я не вижу. Какие алгоритмы вы имели в виду? текст взят из 1го сообщенияЕсть два алгоритма: 1. посчитать количество строк средствами SQL языка, т.е. таким запросом: Код: plaintext затем вторым запросом Код: plaintext для каждого из запросов открывается рекордсет(!) 2. вытаскиваем данные запросом: SELECT DISTINCT NAME1 FROM DB ORDER BY NAME1 затем курсором пробегаем все записи пересчитывая их.. используется конструкция Код: plaintext 1. 2. 3. Код: plaintext при этом рекордсет открывается один раз.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:31 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
gjghjc, я считаю не общее количество записей :) за идею использовать таймер - спасибо.. совсем забыл про такую фичу.. %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:32 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
Я понял что не всех, я имел ввиду что вместо конструкции Код: plaintext 1. 2. 3. 4. я использую Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:40 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
gjghjc, теперь понял! ведь во втором случаей действительно количество записей ограничено уже самой формой запроса.. хм.. получается, что сделать уже итоговую выборку эффективнее будет, потому что сам рекордсет всегда содержит количество полученных запросом записей(!) спасибо!!! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 18:43 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
> Автор: Евгений_Анатольевич > Recordset.MoveFirstи заполняю массив.. > при этом рекордсет открывается один раз.. Ах, вот в чем дело :) тогда предлагаю пересмотреть подход, например, на такой: Код: plaintext 1. 2. 3. 4. -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 19:01 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, спасибо, приду домой - потестирую :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 19:10 |
|
||
|
подсчет строк в таблице DBF
|
|||
|---|---|---|---|
|
#18+
проходящий.Единственное, что могу предложить - использовать VFP OLEDB Provider. Он такой синтаксис точно поддерживает. Во всех остальных случаях вопрос явно не в тот форум. Да, да версию 9.0, все остальное ни черта как надо не работает, а ставишь 9.0 все работает нормально. Ну а что быстрее, ну сам протестируй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 08:41 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35680222&tid=2161570]: |
0ms |
get settings: |
13ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 433ms |

| 0 / 0 |
