Skip to content

Instantly share code, notes, and snippets.

@k-k
Last active December 23, 2015 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save k-k/6708835 to your computer and use it in GitHub Desktop.
Save k-k/6708835 to your computer and use it in GitHub Desktop.
Large difference in index size when indexes are built incrementally ( as new documents come in ) - versus built at once ( ensureIndex, reIndex, repairDatabase ).
/*
SERVER: MongoDB 2.4.3
NS: test.session
*/
/* AFTER INSERTING 20k DOCUMENTS */
db.session.stats(1024)
{
"ns": "test.session",
"count": 20130,
"size": 17299,
"avgObjSize": 0.8593641331346249,
"storageSize": 37596,
"numExtents": 7,
"nindexes": 3,
"lastExtentSize": 18664,
"paddingFactor": 1,
"systemFlags": 0,
"userFlags": 0,
"totalIndexSize": 13373,
"indexSizes": {
"_id_": 646,
"sid_1_d_1": 1820,
"dim_1": 10906
},
"ok": 1
}
db.session["$dim_1"].stats(1024)
{
"ns": "test.session.$dim_1",
"count": 1366,
"size": 10906,
"avgObjSize": 7.98389458272328,
"storageSize": 12276,
"numExtents": 5,
"nindexes": 0,
"lastExtentSize": 9216,
"paddingFactor": 1,
"systemFlags": 0,
"userFlags": 0,
"totalIndexSize": 0,
"indexSizes": {
},
"ok": 1
}
/*
SERVER: MongoDB 2.2.0
NS: tracking.session
*/
/* RUN REINDEX */
db.session.reIndex()
{
"nIndexesWas": 3,
"msg": "indexes dropped for collection",
"nIndexes": 3,
"indexes": [
{
"key": {
"_id": 1
},
"ns": "test.session",
"name": "_id_"
},
{
"key": {
"sid": 1,
"d": 1
},
"ns": "test.session",
"name": "sid_1_d_1"
},
{
"key": {
"dim": 1
},
"ns": "test.session",
"name": "dim_1"
}
],
"ok": 1
}
/* AFTER REINDEX - NO DOCUMENTS HAVE BEEN REMOVED */
db.session.stats(1024)
{
"ns": "test.session",
"count": 20130,
"size": 17299,
"avgObjSize": 0.8593641331346249,
"storageSize": 37596,
"numExtents": 7,
"nindexes": 3,
"lastExtentSize": 18664,
"paddingFactor": 1,
"systemFlags": 0,
"userFlags": 0,
"totalIndexSize": 8415,
"indexSizes": {
"_id_": 582,
"sid_1_d_1": 1229,
"dim_1": 6603
},
"ok": 1
}
db.session["$dim_1"].stats(1024)
{
"ns": "test.session.$dim_1",
"count": 827,
"size": 6603,
"avgObjSize": 7.984280532043531,
"storageSize": 12276,
"numExtents": 5,
"nindexes": 0,
"lastExtentSize": 9216,
"paddingFactor": 1,
"systemFlags": 0,
"userFlags": 0,
"totalIndexSize": 0,
"indexSizes": {
},
"ok": 1
}
/*
SERVER: MongoDB 2.2.0
NS: tracking.session
*/
/* Before Reindex */
db.session.stats(1024*1024)
{
"ns": "tracking.session",
"count": 49650405,
"size": 50169,
"avgObjSize": 0.0010104449299054056,
"storageSize": 51861,
"numExtents": 46,
"nindexes": 2,
"lastExtentSize": 2046,
"paddingFactor": 1.0000000047677706,
"systemFlags": 1,
"userFlags": 0,
"totalIndexSize": 5048,
"indexSizes": {
"_id_": 2313,
"rt_-1_s_1": 2735
},
"ok": 1
}
/* After Reindex */
db.session.stats(1024*1024)
{
"ns": "tracking.session",
"count": 49650459,
"size": 50169,
"avgObjSize": 0.0010104438309422275,
"storageSize": 51861,
"numExtents": 46,
"nindexes": 2,
"lastExtentSize": 2046,
"paddingFactor": 1.0000000047677706,
"systemFlags": 0,
"userFlags": 0,
"totalIndexSize": 3009,
"indexSizes": {
"_id_": 1382,
"rt_-1_s_1": 1626
},
"ok": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment