|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ar-mark Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
а если так Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 16:54 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
пояснение s1="" s1=s1 & "select t.id, t.descr, e.min from table1 t,etalon e " s1=s1 & " where ((t.c1=e.c1)+(t.c2=e.c2)+ (t.c3=e.c3)+ (t.c4=e.c4)+(t.c5=e.c5)" s1=s1 & " +(t.c6=e.c6)+( t.c7=e.c7)+(t.c8=e.c8))<=-e.min" если t.c1=e.c1 , получим -1, иначе 0 сумма будет отрицательная поэтому меняем знак у е.min ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 17:00 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
забыла про INT ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 17:01 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, а если так Код: sql 1. 2. 3. 4.
У ТС MySQL, там True==1, но сути дела это не меняет. Основная проблема - невозможность(?) использования индексов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 19:03 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ar-mark, тестовый вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 22:30 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
'''''А если так, access вместо сервера --для отладки '''''для каждой строки эталона---свой динамический запрос ''''' код Код: 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2012, 23:38 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, впечатляет ... %) А индексы всё-равно не используются. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 00:21 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
скукотища, а зачем они, если нет стыковки и поиска ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 00:55 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, без них тоскливо: треть суток ждать данных от запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 01:12 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
скукотищаar-mark, тестовый вариант Просто нет слов !!!!!!!!!! 500 000 строк, 8 колонок и 4 строки в эталоне не успел моргнуть 7,8сек 500 000 строк, 8 колонок и 1000 строк в эталоне 1706,14сек Проверить с настоящей базой пока не могу !!!! Но тут и проверять нечего, ждать 5-6 часов лучше чем месяц. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 06:19 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Отличный вариант!!! Проблему со скоростью не решает, зато больше данных выводит. Спасибо !!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 06:37 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
Ну, после того, как стало более-менее понятно, чего вы добиваетесь (сверить эталон с базой по некоему ограничению) - стало ясно, что запрос должен строиться со стороны эталона к базе. Изначально и так это было ясно, поскольку "условие" находится в эталоне - просто нужно было подробно понять принцип. Да и отсутствие индексов сильно мешает... Кстати, ещё (и сильно) ускорить запросы можно, если существует какая-нибудь корреляция между эталоном и записями в базе. То есть, эталон строится на основании информации из этой базы по каким-либо принципам... Вам же незря тонко намекали на ТЗ. Да и насчет 5-6 часов на реальных данных - вы несколько торопитесь. Если увеличение количества записей (в базе) приведет к увеличению времени линейно, - то увеличение количества столбцов в условии - как бы не вылилось в экспоненту... так что не месяц, конечно, - но несколько суток может и получиться ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 07:30 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ar-mark, можно получить итоги -по каждому эталону-позиции(строка эталон и строки таблицы) -или по позиции-эталону(строка таблицы и под какие эталоны попадает) -или по позиции-эталонам(сводная) намного информативнее, чем позиция,мах убрать лишнее всегда можно, я для отладки добавила много "лишнего"(не по заданию) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 07:57 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
AndreTM, забыла -можно дозаписать строки ко вчерашним строкам или добавить новый эталон - и выдавать, как изменились данные за период иначе зачем эта груда цифр ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 08:00 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ar-mark, конечно я не знаю(даже не догадываюсь) вашей задачи, но мне более интересен следующий вариант -в первую строку листа(не csv) набить, например столбцы с1-с9-с17-с25-с30 -и в этот же лист получить результат -при необходимости скорректировать первую строку -и повторить поиск надо думать не только о поиске, но и об архиве строк эталона за разные дни, и об диалоговом поиске............... многое зависит от того -кто готовит эталон -КОМУ нужны итоги(как и чем их просматривать) -есть ли вариантность - ..........т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 08:15 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Дело в том что я сам толком не понимал какая именно задача. Пару недель назад, мне прислали файл Excel, работу которого надо ускорить задачу я описал исходя из кода, поэтому на многие вопросы я не знаю ответа. Только сегодня, наконец-то удалось уточнить некоторые моменты. Оказалось база и есть ЭТАЛОНЫ, а сравниваемый файл CSV, это результаты тестов оборудования (по сути это ничего не меняет). В CSV каждая строчка это результат 28-и тестов одной модели. Кол-во строк в СSV это кол-во протестированных моделей из одной партии. Нужно найти в базе строчки с максимальным кол-во совпадений с группой тестов(СSV). в конечных данных, интересует только, первая колонка с индексом, последняя колонка с кодом рецензии и макс. кол.совпадений. Еще раз СПАСИБО, что откликнулись. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 14:47 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
Ну, о чем и говорили... Если CSV всегда разный (тестируется всегда разное оборудование), то корреляции нет. Накапливать CSV смысла не имеет... И статистика ищется для всей партии целиком... Может, статметоды какие применить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 17:40 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
Предлагаю эталонную таблицу экспортировать на SQL-сервер (вряд ли она более 100Мб размером) и работать с ним... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 20:22 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
AndreTM, Здесь 12099545 так и есть. Импорт 'эталона' из csv в базу, запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Вся надёжа на волшебные 'статметоды'. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 22:09 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
Нет, я не etalon.csv предлагаю импортировать (хотя и его придётся...), а общую table1...table14 собирать и експортировать из MySql в MSSQL (Express, например, прямо у ТС на компе). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 23:12 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
AndreTM, есть веские основания считатать, что mssql шустрее справится с такой задачей? ЗЫ: насчет алгоритма поиска никаких позитивных мыслей не приходило? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2012, 23:48 |
|
Помогите с большими объёмами данных и SQL
|
|||
---|---|---|---|
#18+
Алгоритм - думаю пока. Уже до динамического программирования дошел. Но там и использование СУБД не понадобится, хотя можно и подумать... А насчет MSSQL (или даже Акцесса) - так тут разговор за индексы был. Да и поэкспериментировать на SQL2008 R2 можно поболе (ну, не пользовался я MySQL на уровне разработчика). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2012, 00:05 |
|
|
start [/forum/topic.php?fid=60&gotonew=1&tid=2158064]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 351ms |
total: | 519ms |
0 / 0 |