Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Например, имеется таблица, в которой хранится лог данных некоего прибора с определенным интервалом времени, допустим, данные обновляются раз в секунду. Требуется занулить (null) данные, которые повторяются, чтобы остались только те данные, где происходит изменение значения. Прилагаю Excel с примером хотелки. Заранее спасибо за советы. P.S.: Руководство очень хочет минимизировать объем хранимых данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 12:21 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidyРуководство очень хочет минимизировать объем хранимых данных. Объясните этим идиотам, что место под значение поля записи будет занято вне зависимости от того, есть там некое значение, или там Null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 13:37 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidyРуководство очень хочет минимизировать объем хранимых данных. Объясните этим идиотам, что место под значение поля записи будет занято вне зависимости от того, есть там некое значение, или там Null. При использовании InnoDB null не занимает места, о чем пишет и сам MySql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:03 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
создай уникальный ключ: Value1+Value2+Value3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:47 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
yarnikсоздай уникальный ключ: Value1+Value2+Value3 Пока что не понял как это использовать. Можно немного подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:06 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:13 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
yarnik Код: sql 1. 2. 3. 4. 5. 6. Таблица уже имеется, используемый движок InnoDB, большая часть полей nullable. Требуется занулить данные от изменения к изменению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:39 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidyПри использовании InnoDB null не занимает местаТолько для варчаров. Для чисел/дат - увы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:41 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
duplicate key update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:46 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidyТребуется занулить (null) данные, которые повторяются 1) Читаем FAQ: Нумерация строк и другие вопросы про использование переменных до полного понимания. 2) Реализуем - причём ключ сортировки при нумерации ОБЯЗАН быть уникальным. 3) Для каждого поля выполняем запрос Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:00 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidyПри использовании InnoDB null не занимает местаТолько для варчаров. Для чисел/дат - увы... А где про это можно почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:39 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
yarnikduplicate key update Боюсь так не подойдет. Придется так по каждой отдельной колонке, и данные могут быть 0 и 1, и чередоваться несколько раз, а это может привести к потере данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:42 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
а что мешает проверить есть ли запись, если есть - удалить и вставить новую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:45 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidyТребуется занулить (null) данные, которые повторяются 1) Читаем FAQ: Нумерация строк и другие вопросы про использование переменных до полного понимания. 2) Реализуем - причём ключ сортировки при нумерации ОБЯЗАН быть уникальным. 3) Для каждого поля выполняем запрос Код: sql 1. 2. 3. 4. На текущий момент решение очень похожее, но для 80 полей и пару десятков тысяч строк занимает слишком много времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:46 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidy80 полей и пару десятков тысяч строк Ну тогда просто пробегитесь курсором в процедуре. Или, если хватит опыта, сделайте UPDATE на переменных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 21:03 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidy80 полей и пару десятков тысяч строк Ну тогда просто пробегитесь курсором в процедуре. Или, если хватит опыта, сделайте UPDATE на переменных... Это все уже написано, я надеялся, что есть более оптимальный способ. Достичь того же результата, но на порядок быстрее все же удалось, применив обычный foreach в C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 22:26 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
AkinaiMrTidyПри использовании InnoDB null не занимает местаТолько для варчаров. Для чисел/дат - увы... Протестировал как для VarChar, так и для других типов данных. InnoDB в сочетании с compact row существенно сокращает объем данных. Об это пишут здесь и здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 22:29 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidy, А у вас есть varchar-ы в логах прибора? Зачем? Может, имеет смысл пересмотреть типы данных? И даже, возможно, что-то нормализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 23:14 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
miksoftiMrTidy, А у вас есть varchar-ы в логах прибора? Зачем? Может, имеет смысл пересмотреть типы данных? И даже, возможно, что-то нормализовать? В логах прибора нет, есть, например, hex адреса команд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 23:58 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidyhex адреса команд.Прекрасно ложатся в целочисленные поля. В MySQL есть даже трехбайтовые, если вдруг двух байтов мало, а четыре избыточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 00:02 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
miksoftiMrTidyhex адреса команд.Прекрасно ложатся в целочисленные поля. В MySQL есть даже трехбайтовые, если вдруг двух байтов мало, а четыре избыточно. Спасибо за совет! Возьму на вооружение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 10:18 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
iMrTidyAkinaпропущено... Ну тогда просто пробегитесь курсором в процедуре. Или, если хватит опыта, сделайте UPDATE на переменных... Это все уже написано, я надеялся, что есть более оптимальный способ. Достичь того же результата, но на порядок быстрее все же удалось, применив обычный foreach в C#. Сейчас тестирую, разница в скорости даже на 2 порядка. С 20 секунд до 0,2! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 18:21 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
Возможно, кому-то пригодится, вот так решил задачу с денулификацией. Код: 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. Пользоваться решением можно так. Код: sql 1. 2. Данные нулифицировал до вставки в базу простым foreach, что оказалось примерно в 100 раз быстрее, чем если делать это в базе. Таблица с данными использует InnoDB и Row Format Compressed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 10:42 |
|
||
|
Как лучше всего исключить повторяющиеся значения в каждой колонке таблицы?
|
|||
|---|---|---|---|
|
#18+
Эххх... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2017, 11:44 |
|
||
|
|

start [/forum/topic.php?fid=47&startmsg=39502481&tid=1830488]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 403ms |

| 0 / 0 |
