с
db.collection.dataSize()
Я могу получить размер данных collectcion
как я могу получить данные из базы данных?
с
db.collection.dataSize()
Я могу получить размер данных collectcion
как я могу получить данные из базы данных?
Используйте следующую команду в mongoshell:
db.stats()
Выход должен выглядеть следующим образом:
{
"collections" : 3,
"objects" : 80614,
"dataSize" : 21069700,
"storageSize" : 39845376,
"numExtents" : 9,
"indexes" : 2,
"indexSize" : 6012928,
"ok" : 1
}
Подробнее диагностическая команда здесь.
Используйте db.getStats() в Java
CommandResult re = db.getStats();
for(String k: re.keySet()){
System.out.println(k+"="+re.get(k) );
}
Затем получится результат, как показано ниже:
serverUsed=127.0.0.1:27017
db=test
collections=3
objects=100004
avgObjSize=67.99876004959802
dataSize=6800148
storageSize=10633216
numExtents=9
indexes=1
indexSize=4406864
fileSize=50331648
nsSizeMB=16
ok=1.0
Команда dbStats возвращает другую статистику хранения для данной базы данных.
Как объяснено в этот пост о различных показателях производительности MongoDB, которые вы должны отслеживать (с MMAPv1), метка dataSize
, которую вы упомянули, измеряет пространство принятых всеми документами и дополнением в базе данных.
Чтобы получить "хранилище" вашей базы данных на диске, вы должны посмотреть на показатели fileSize
, соответствующие размеру ваших файлов данных. Он уменьшается только при удалении базы данных и не затрагивается при удалении коллекций, документов или индексов.
Ниже приведена диаграмма с различными важными показателями хранения, возвращаемыми dbStats:
Также обратите внимание, что с движком хранения MMAPv1 отображаемая память (mem.mapped
метрика), соответствующая количеству виртуальной памяти, используемой для сопоставления базы данных в памяти, дает вам хорошее приближение к общему размеру вашей базы данных (ы). Вы можете получить доступ к этой метрике с помощью команды serverStatus.