В ASE я использую комбинацию sp_estspace и sp_spaceused для общего размера данных / индекса, который я написал сам. Вы можете получить источник для каждого внутри sybsystemprocs.
sp_estspace имеет тенденцию переоценивать (по частям) размер данных (не индексов), а sp_spaceused, деленное на rowcount, не является хорошим индикатором того, насколько большой может быть строка сегодня (представьте вчера вы добавили 20 пустых столбцов и решили использовать их, пробел не изменился).
- разумный ожидаемый размер данных = ((spaceused / rowcount) + estspace (1)) / 2
- Я не проводил никакого анализа точности обеих команд индекса, но я бы предположил, что (spaceused / rowcount) будет очень точным для перспективных элементов.
Она не идеальна ЛЮБЫМИ средствами, но это была довольно надежная оценка для моей цели. Я бы не стал писать код, который сломался бы, если бы он превысил любую из этих оценок.