mongodb性能测试
结论:
使用批量插入,10万条记录插入用时3.193秒
使用单条插入,10万条记录插入用时47.878秒
一条记录约8个字段
插入的实体
package com.study.mongodb_study.entity; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @Document(collection = "user") public class User { @Id private String id; @Field("username") private String username; private String password; private String registerTime; private String phone; private String name; private String sex; private String age; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getRegisterTime() { return registerTime; } public void setRegisterTime(String registerTime) { this.registerTime = registerTime; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public String toString() { return "User{" + "id='" + id + '\'' + ", username='" + username + '\'' + ", password='" + password + '\'' + ", registerTime='" + registerTime + '\'' + ", phone='" + phone + '\'' + ", name='" + name + '\'' + ", sex='" + sex + '\'' + ", age='" + age + '\'' + '}'; } }
测试方法
package com.study.mongodb_study.service; import com.study.mongodb_study.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; @Service public class UserService { @Autowired MongoTemplate mongotemplate; public void insertUserList(){ Date beginDate = new Date(); List<User> userList = new ArrayList<>(100000); for(Integer i=0;i<100000;i++) { User user = new User(); user.setId(i.toString()); user.setAge(i.toString()); user.setName("userName" + i.toString()); user.setPhone("abcd"); userList.add(user); } mongotemplate.insertAll(userList); Date endDate = new Date(); System.out.println("use time:" + (endDate.getTime() - beginDate.getTime())); } }
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号