|
Оптимизация
|
|||
---|---|---|---|
#18+
Добрый день всем. Подскажите пожалуйста как ускорить выполнению данного кода? Код: vbnet 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. 57. 58. 59. 60. 61. 62. 63.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 06:38 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, Код: vbnet 1. 2. 3. 4. 5. 6. 7.
по правде говоря, не поняла ваше действо --отбор по контрагенту/услуге --без накопления --зачем нужен dcount ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 07:46 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Dcount проверяет есть ли текущая запись из Excel в справочнике на сервере, если есть то делаем вставку из Excel на сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 07:48 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, без базы сложно понять, но может сначала стыковать основную таблицу с "[NCI_UPR_1214]/ "[NCI_StrEd_18]" для отсекания лишних и по RS читать только нужные, а не считать количество записей в неких подтаблицах, не используя результаты подсчета а может и запросом insert все можно сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 07:51 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Примерно такой алгоритм 1. Создал запрос к серверу к табле управлений 2. Создал запрос к серверу к табле контрагентов 3.Создал подключение к файлу EXcel 4.Получил значение управления 5. Получил данные контрагента 6. Проверил наличие номера управления в табле управлений через рекордсет 7. Проверил наличие данных контрагента в табле контрагентов через рекордсет 8. Совпало делаю вставку, иначе следующее значение ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 07:52 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobsDcount проверяет есть ли текущая запись из Excel в справочнике на сервере, если есть то делаем вставку из Excel на сервер. это я поняла(кроме ссылки на ексель) не поняла почему не применяется Код: sql 1. 2. 3. 4. 5.
пишу без конструктора и таблиц --могут быть ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 07:58 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, насколько велики таблицы "[NCI_UPR_1214]/ "[NCI_StrEd_18]" порядок записей в них rs.Fields("Код Контрагента (18 справочник)") '3 ---это код--число или текст ''''''''''''''''''' rs.Fields("Наименование услуги") '6------------------это похоже текст ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:02 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
в NCI_UPR_1214 -1000 записей в NCI_StrEd_18 - 35000 записей ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:07 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, не ответили на авторrs.Fields("Код Контрагента (18 справочник)") '3 ---это код--число или текст ''''''''''''''''''' rs.Fields("Наименование услуги") '6------------------это похоже текст ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:08 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
rs.Fields("Код Контрагента (18 справочник)") '3 ---это число ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:10 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
rs.Fields("Наименование услуги") '6------------------это текст ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:10 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, а это авторrs.Fields("Наименование услуги") '6------------------это похоже текст ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:11 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, можете ли вы в конструкторе составить такой запрос(правильно) Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:12 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
а tab1 это что? Я понял что псевдоним, но какой таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:19 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, я же не могу угадать, чему соответствует rs.RecordCount ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:29 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
это recordset файла Excel ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:42 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, выложите полный код процедуры вы же где то прописали Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 08:47 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Код: vbnet 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. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 09:01 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobs, а как привязаны [NCI_UPR_1214] и [NCI_StrEd_18] или это локальные таблицы(находятся в базе) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 09:07 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
noobsЭто запросы к серверу вот вам и скорость 3 запроса к серверу на каждой записи -------------- я видимо применила бы временные локальные таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 09:40 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Только использовать временные таблицы для ускорения? Других вариантов нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 09:54 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
Noobs, по крайней мере я не других вариантов не делала мой порядок --создавала пустую рабочую базу --копировала туда таблицы запросом типа(нужные поля) select * into tab1 from list1 select * into sp1214 from..... select * into sp18 from ..... --tab1/sp1214/sp18 прилинковывала --далее обычные запросы со join меня это устраивало по скорости и не разбухала локальная база с запросами/формами у вас же другой монастырь --другие правила можно справочники считывать не во временные таблицы, а в массивы(если код небольшой --для клиентов) или коллекции(для текстовых полей) и там и там можно не обращаясь на каждой записи к серверу --проверить есть ли запись в справочниках ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 10:08 |
|
Оптимизация
|
|||
---|---|---|---|
#18+
А как считывать в массивы или коллекции? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2016, 11:30 |
|
|
start [/forum/topic.php?fid=45&fpage=114&tid=1613971]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 337ms |
total: | 462ms |
0 / 0 |