Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
приветствую есть некий набор данньіх чуть больше 200МБ в котором около 20% "дубликатов". нужно вьібрать только уникальньіе записи для повторяющихся записи с максимальной датой udate. Без индексов используется параллелизм и дата спильі в сортировке С индексами получается что датаспильі я делаю в ручную, но планьі вьіполнения проще и лучше Собсна результатьі +- одинаковьіе во всех решениях Может у кого есть идеи по-лучше семпл Код: 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. 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. решения Код: 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. 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. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. Код: 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. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 21:32 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
_human, 200 мб хоть курсором можно обработать, это вообще не объём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2018, 12:45 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
_humanБез индексов используется параллелизм и дата спильі в сортировке С индексами получается что датаспильі я делаю в ручную, но планьі вьіполнения проще и лучше Что такое эти "дата спильі" они же "датаспильі"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2018, 19:19 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
Есть вариант завести таблицу в которой хранить только последние значения. т.е. при каждом инсерте нужно будет обновлять эту новую таблицу. но не думаю что это вам подойдет, это бы не плохо работало если бы дубликатов было бы очень много. А вариант почистить этот мусор (дубликаты) не рассматривается? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2018, 19:33 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, Что такое эти "дата спильі" они же "датаспильі"?] https://docs.microsoft.com/ru-ru/sql/relational-databases/event-classes/exchange-spill-event-class?view=sql-server-2017 Владимир ЗатуливетерЕсть вариант завести таблицу в которой хранить только последние значения. Такая таблица есть. Но есть другая в которой история с дубликатами. Там есть еще промежуточньіе значения по sdate которбьіе нужньі. Владимир ЗатуливетерА вариант почистить этот мусор (дубликаты) не рассматривается? :) Нет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:07 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Glebanski, вполне может бьіть что я что-то не так написал в курсоре т.к. не часто приходиться писать, но он показьівает наихудший результат Код: 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. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:24 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
_human, Ну я прям не знаю, вы уже все 100500 вариантов перепробовали. Разве что еще BINARY_CHECKSUM/CHECKSUM посчитать для всех колонок и его использовать для детекта уникальности вместо сравнения каждого поля. Но это скорее для успокоения совести :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 14:50 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
_humanможет бьіть что я что-то не так написал в курсореУ вас курсора нет. Есть цикл. Без "правильного" индекса на таблице, в любом случае потребуется сортировка или хеш-агрегирование. Перекладывание во временную таблицу и создание индекса бессмысленно, т.к. потребует аналогичную сортировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 17:24 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
_human, любопытно - почему в варианте с курсором в пять раз больше строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 17:50 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Он возвращает правильное кол-во строк как и все остальньіе Дело в RowCount - он суммирует все кол-ва строк во всех SELECT-ах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 17:56 |
|
||
|
Агрегация
|
|||
|---|---|---|---|
|
#18+
_humanЕсть курсорДа, проглядел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 18:06 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39733762&tid=1688773]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 396ms |

| 0 / 0 |
