|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
почему так получилось: - почистил немного данные в БД, а в одной из таблиц еще решил уменьшить длину поля ReqJson (было varchar 8000) Выполнил Код: sql 1.
До начала операции на диске было свободно более 65Гб. я наблюдал за ростом файла БД и лога пока длилась операция Операция прошла успешно, лог урезался, а вот файл БД на диске так и остался большим (свободное место сейчас чуть более 47Гб). Почему так? И что можно сделать, чтобы освободить место на диске? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 22:38 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
RegisteredUser, Шринк? Лучше смотрите не место на диске, а свойства базы данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 22:50 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
godsql RegisteredUser, Шринк? Лучше смотрите не место на диске, а свойства базы данных. лог урезался как раз после DBCC SHRINKDATABASE ([JMProd]); а вот mdf остался большим ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 23:04 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
RegisteredUser, А почему должна была уменьшиться база? varchar указывает на максимально допустимый размер, который может быть выделен при сохранении строки. Очевидно, Вы путаете с char типом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 23:08 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
проблема локализовна: - созданы доп. файлы tempdb что с ними делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 23:10 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
RegisteredUser, Это правильно, количество файлов должно зависеть от количества ядер. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 23:30 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
Владислав Колосов, тогда вопрос остается открытым - данных стало меньше, а размер БД вырос гиг на 15 после alter column ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2021, 23:38 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
RegisteredUser Владислав Колосов, тогда вопрос остается открытым - данных стало меньше, а размер БД вырос гиг на 15 после alter column Ты, наверное, думаешь, что трансформация таблицы производится сферическим святым духом в вакууме? Наивняк. Был создан новый столбец в таблице, скопированы туда данные, а затем старый столбец удален. Вот тебе, бабушка, и 15 Гб. А тот чего бы сервер жужжал диском столько долго... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 08:36 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
RegisteredUser файл БД на диске так и остался большим RegisteredUser размер БД вырос гиг на 15 после alter column aleks222 Был создан новый столбец в таблице, скопированы туда данные, а затем старый столбец удален. Там же только метаданные меняются. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 10:11 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
alexeyvg Там же только метаданные меняются. За чем же тогда "наблюдал" страдалец? Создание пустого столбца "не понаблюдаешь". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 10:17 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
RegisteredUser Почему так? И что можно сделать, чтобы освободить место на диске? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 11:05 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
А что делать - так страдальцу и не сказали! Код: sql 1.
спасет отца русской демократии! ЗЫ: Размер поменял зря. Ни пользы от этого, ни удовольствия. Размер varchar должен быть примерно в 2 раза больше средней длины хранящихся в поле данных, при этом, разумеется, не меньше максимально возможного размера данных, которые там предстоит хранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 12:16 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
uaggster, так как подобные поля очень редко нуждаются в индексации, то я предпочитаю сразу делать их [n]varchar(max). Как плюс, места в кортежах они почти не занимают (24 байта на каждое) и обслуживание таблиц ускоряется. Как минус, нужно помнить о лимите в 8060 байт для сортировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 12:42 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
ptr128 uaggster, так как подобные поля очень редко нуждаются в индексации, то я предпочитаю сразу делать их [n]varchar(max). Как плюс, места в кортежах они почти не занимают (24 байта на каждое) и обслуживание таблиц ускоряется. Как минус, нужно помнить о лимите в 8060 байт для сортировки. лажа это, прости господи. если значение поля влазит в инроу, то там и будет размещено. так что если значения по длине не превышают 6000 символов, как ни объявляй, varchar(6000) или varchar(max), покуда длина строки не превысит 8060, размещение будет одинаковым. и уж ни о каком ускорении речи не идет вовсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 13:56 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
ptr128 так как подобные поля очень редко нуждаются в индексации, то я предпочитаю сразу делать их [n]varchar(max). Как плюс, места в кортежах они почти не занимают (24 байта на каждое) и обслуживание таблиц ускоряется. 2. Код: 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.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 13:57 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
Yasha123 лажа это, прости господи. если значение поля влазит в инроу, то там и будет размещено. Если чего-то не знаете, то из этого не следует, что этого нет ))) invm create table dbo.t3 (id int identity primary key, s varchar(max)); exec sp_tableoption 'dbo.t3', 'large value types out of row', 1; ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:07 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
invm, про вставку я ничего не говорил. В моем случае, это очень редкая операция, по сравнению с выборкой. Код: 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.
... (1 row affected) Table 't1'. Scan count 1, logical reads 1295, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 0 ms, elapsed time = 2 ms. SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 0 ms. (1 row affected) Table 't2'. Scan count 1, logical reads 1295, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 0 ms, elapsed time = 2 ms. SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 0 ms. (1 row affected) Table 't3'. Scan count 1, logical reads 39, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. SQL Server Execution Times: CPU time = 0 ms, elapsed time = 1 ms. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:14 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
ptr128 Yasha123 лажа это, прости господи. если значение поля влазит в инроу, то там и будет размещено. Если чего-то не знаете, то из этого не следует, что этого нет ))) invm create table dbo.t3 (id int identity primary key, s varchar(max)); exec sp_tableoption 'dbo.t3', 'large value types out of row', 1; чего уж так извращаться-то, объявляйте сразу text. а лучше и вовсе на 2000-ый переходите, ваша логика его достойна. кстати, что там про ускорение-то? жду тест, когда благодаря вашему извращению хоть что-то ускорится (что замедлится как вставка, так и выборка, я вам на раз продемонстрирую) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:16 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
Yasha123, откройте спойлер выше. На примере от invm - в два раза! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:19 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
о, да это песня, мало того, что в приведенном тесте вообще читаются только инроу-страницы, так товарищ еще и не в курсе, что читать лобы будет куда дольше. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:19 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
Yasha123, я отлично знаю, что чтение out-of-row будет медленней. Но когда на практике в 90% запросов они не читаются, так как содежат всяческие комментарии для пользователей или тому подобный текст, но зато тормозят обработку данных и обслуживание индексов, я выбираю out-of-row. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:23 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
ptr128 Yasha123, откройте спойлер выше. На примере от invm - в два раза! дарагуля, в спойлере выше все строки есть инроу (lob logical reads 0) расхотелось уже хранить свои максы в лобах или пример со сменой способа хранения лобов только мне показал, а себе применить забыл? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:24 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
Yasha123, читать научитесь. Полезно будет ))) exec sp_tableoption 'dbo.t3', 'large value types out of row', 1 ... Table 't1'. Scan count 1, logical reads 1295 , physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 't2'. Scan count 1, logical reads 1295 , physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 't3'. Scan count 1, logical reads 39 , physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Просто на практике у меня выборки в хранимых процедурах в 90% out-of-row не используют ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:26 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
ptr128 Yasha123, читать научитесь. Полезно будет ))) exec sp_tableoption 'dbo.t3', 'large value types out of row', 1 ... Table 't1'. Scan count 1, logical reads 1295 , physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 't2'. Scan count 1, logical reads 1295 , physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 't3'. Scan count 1, logical reads 39 , physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Просто на практике у меня выборки в хранимых процедурах в 90% out-of-row не используют ))) ну давай вместе поучимся: авторTable 't1'. Scan count 1, logical reads 1295 , physical reads 0, read-ahead reads 0, lob logical reads 0 , lob physical reads 0, lob read-ahead reads 0. Table 't2'. Scan count 1, logical reads 1295 , physical reads 0, read-ahead reads 0, lob logical reads 0 , lob physical reads 0, lob read-ahead reads 0. Table 't3'. Scan count 1, logical reads 39 , physical reads 0, read-ahead reads 0, lob logical reads 0 , lob physical reads 0, lob read-ahead reads 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:29 |
|
Почему файл БД вырос после alter column
|
|||
---|---|---|---|
#18+
Yasha123, Лично для Вас фонт покрупнее. Может со зрением плохо? на практике у меня выборки в хранимых процедурах в 90% out-of-row не используют Table 't1'. Scan count 1, logical reads 1295 Table 't2'. Scan count 1, logical reads 1295 Table 't3'. Scan count 1, logical reads 39 То есть, за счет того, что в последней таблице строки были вынесены out-of-row, количество logical reads при выборке из этой таблице, в которой эти строки не участвуют, сократилось в 33 раза! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 14:33 |
|
|
start [/forum/topic.php?fid=46&fpage=38&tid=1685232]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
others: | 18ms |
total: | 207ms |
0 / 0 |