Как найти размер строки в таблице в базе данных (Sybase) - PullRequest
1 голос
/ 27 февраля 2012

Я хотел знать команду, чтобы найти размер строки в таблице в моей базе данных. Допустим, у меня есть база данных db и таблица table.

Как я могу найти размер строки в этой базе данных (которая включает в себя все столбцы)?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Отображение ожидаемого размера строки для таблицы. См. здесь

0 голосов
/ 08 августа 2012

В ASE я использую комбинацию sp_estspace и sp_spaceused для общего размера данных / индекса, который я написал сам. Вы можете получить источник для каждого внутри sybsystemprocs.

sp_estspace имеет тенденцию переоценивать (по частям) размер данных (не индексов), а sp_spaceused, деленное на rowcount, не является хорошим индикатором того, насколько большой может быть строка сегодня (представьте вчера вы добавили 20 пустых столбцов и решили использовать их, пробел не изменился).

  1. разумный ожидаемый размер данных = ((spaceused / rowcount) + estspace (1)) / 2
  2. Я не проводил никакого анализа точности обеих команд индекса, но я бы предположил, что (spaceused / rowcount) будет очень точным для перспективных элементов.

Она не идеальна ЛЮБЫМИ средствами, но это была довольно надежная оценка для моей цели. Я бы не стал писать код, который сломался бы, если бы он превысил любую из этих оценок.

...