Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему размер пользовательских таблиц такой маленький в сравнении с внутренними объектами?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Нужна помощь в определении почему размер базы такой, как есть. Задача я так поманию для профи должна быть простая, потому что база из моего простенького хобби приложения. Просто я не силен в базах, но хочу разобраться. База на PostgreSQL. Еще одна деталь. Приложение написано на яве и задеплоено в облако в триальный аккаунт. Размер базы там ограничивается 20MB. Для тестов вполне достаточно, тем более, что все бесплатно. И сейчас после нескольких месяцев отладки размер базы достиг предела и вышел за него - 25MB, хотя мне со стороны, как пользователю кажется, что данных мало. И я хочу разобраться почему так получается. Итак. Вот структура базы: Код: plaintext 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. Вот размер базы Код: plaintext 1. 2. 3. Вот этим запросом я вывожу сколько занимают таблицы в базе Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Как видим, если сложить все размеры получается сильно меньше 24MB. Погуглив, нахожу запрос, чтобы посмотреть какие другие объекты в базе занимают место. Код: plaintext 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. И вот тут хочу понять что это за объекты такие, которые занимают места сильно больше, чем пользовательские таблицы? Например, вот эти Код: plaintext 1. 2. 3. 4. 5. 6. 7. Нормально ли это, нужно ли за этим следить? В общем, у меня как у дилетанта в базах вопрос простой: почему пользовательские таблицы занимают так мало, а системные объекты так много? Буду рад советам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 17:44 |
|
||
|
Почему размер пользовательских таблиц такой маленький в сравнении с внутренними объектами?
|
|||
|---|---|---|---|
|
#18+
Girgory, Вы храните какие-то файлы в базе? Или может это делает ORM за вас, подхватывая какой-либо объект (навроде File) и сохраняя его в базу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 19:19 |
|
||
|
Почему размер пользовательских таблиц такой маленький в сравнении с внутренними объектами?
|
|||
|---|---|---|---|
|
#18+
vyegorov, File не храню. ORM тоже не должен ничего подкладывать. Но у меня несколько колонок типа text. Например, колонка content в таблице post. В ней хранятся статьи в виде html. Но размер их небольшой. По сути это хранятся посты с блогов (без картинок, без файлов, только html). Но размер данных в этих колонках смешной - это 10-ки килобайт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 19:24 |
|
||
|
Почему размер пользовательских таблиц такой маленький в сравнении с внутренними объектами?
|
|||
|---|---|---|---|
|
#18+
Girgory, У Postgres'а есть такое понятие как “shared catalog”, или общий каталог . Под него попадают системные таблицы: Код: sql 1. Я сюда также добавил `pg_largeobject_metadata` и `pg_largeobject`, т.к. интерфейс больших объектов глобален для всего экземпляра (непонятно, почему эти таблицы не отмечены как `relisshared` — может я и неправ). Т.е. вы видите, например, что в данном экземпляре 5048 различных баз (вместе с вашей). Остальные объекты (которые вы отделили) столь велики потому, что другие клиенты используют свои базы более интенсивно, чем вы. Я бы сделал следующее: выяснил у пройвадера сервиса как он считает занимаемое место исключил таблицы выше из подсчёта размера базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 20:01 |
|
||
|
Почему размер пользовательских таблиц такой маленький в сравнении с внутренними объектами?
|
|||
|---|---|---|---|
|
#18+
vyegorov, Запросил у провайдер как он считает размер базы. Ничего нового не узнал. Говорят вот так: Код: sql 1. Этот запрос возвращает те самые 24MB. Но что-то я не могу сделать запрос, который бы показал из каких составляющих считается этот размер. Так-то понятно, что скорее всего размер действительно такой. Но просто уж больно интересно куда конкретно место уходит. Вы не знаете как всё-таки составить запрос на составляющие pg_database_size? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 00:56 |
|
||
|
Почему размер пользовательских таблиц такой маленький в сравнении с внутренними объектами?
|
|||
|---|---|---|---|
|
#18+
Girgory, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 09:41 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=84&tid=1996948]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
16ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 362ms |
| total: | 531ms |

| 0 / 0 |
