Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. //db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } );
  2. use wildcard
  3. db.noIndex.drop();
  4. db.singleIndex.drop();
  5. db.manyIndexes.drop();
  6. db.wildcardIndex.drop();
  7.  
  8. var i = 0;
  9. var docs = [];
  10.  
  11. for (i = 1; i < 100000; i++) {
  12. var data = {
  13. _id: i,
  14. data: {
  15. a: Math.round(Math.random() * 10000),
  16. b: Math.round(Math.random() * 10000),
  17. c: Math.round(Math.random() * 10000),
  18. d: Math.round(Math.random() * 10000),
  19. e: Math.round(Math.random() * 10000),
  20. f: Math.round(Math.random() * 10000),
  21. g: Math.round(Math.random() * 10000)
  22. }
  23. };
  24. docs.push(data);
  25. }
  26.  
  27. db.singleIndex.createIndex({"data.a":1});
  28.  
  29. db.manyIndexes.createIndex({"data.a":1});
  30. db.manyIndexes.createIndex({"data.b":1});
  31. db.manyIndexes.createIndex({"data.c":1});
  32. db.manyIndexes.createIndex({"data.d":1});
  33. db.manyIndexes.createIndex({"data.e":1});
  34. db.manyIndexes.createIndex({"data.f":1});
  35. db.manyIndexes.createIndex({"data.g":1});
  36.  
  37. db.wildcardIndex.createIndex({"data.$**":1});
  38.  
  39. function updateIt(collectionName) {
  40. var start=new Date();
  41. var rc=db.getCollection(collectionName).update({},
  42. {$inc:{"data.a":1,"data.b":1,"data.c":1,"data.d":1,"data.e":1,"data.f":1,"data.g":1}},
  43. {multi:true});
  44. //printjson(rc);
  45. var elapsed=((new Date())-start);
  46. print('update,',collectionName,',',elapsed,'ms');
  47. }
  48.  
  49. function insertIt(collectionName,data) {
  50. var start=new Date();
  51. var rc=db.getCollection(collectionName).insertMany(data);
  52. //printjson(rc);
  53. var elapsed=((new Date())-start);
  54. print('insert,',collectionName,',',elapsed,',ms');
  55. }
  56.  
  57. function deleteIt(collectionName) {
  58. var start=new Date();
  59. var rc=db.getCollection(collectionName).deleteMany({});
  60. //printjson(rc);
  61. var elapsed=((new Date())-start);
  62. print('delete,',collectionName,',',elapsed,',ms');
  63. }
  64.  
  65. function findIt(collectionName) {
  66. var start=new Date();
  67. var data=db.getCollection(collectionName).find({"data.a":{$lt:100}}).toArray();
  68. //printjson(rc);
  69. var count=data.length;
  70. var elapsed=((new Date())-start);
  71. print('find,',collectionName,',',elapsed,',ms,',count);
  72. }
  73.  
  74. insertIt('noIndex',docs);
  75. insertIt('singleIndex',docs);
  76. insertIt('manyIndexes',docs);
  77. insertIt('wildcardIndex',docs);
  78.  
  79. findIt('noIndex');
  80. findIt('singleIndex');
  81. findIt('manyIndexes');
  82. findIt('wildcardIndex');
  83.  
  84. updateIt('noIndex');
  85. updateIt('singleIndex');
  86. updateIt('manyIndexes');
  87. updateIt('wildcardIndex');
  88.  
  89. deleteIt('noIndex');
  90. deleteIt('singleIndex');
  91. deleteIt('manyIndexes');
  92. deleteIt('wildcardIndex');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement