1. 数据库准备
2. 数据准备
@Test
void generateData() {
int N = 1000;
/***
* 1000条数据串行写数据进数据库
*/
for (int i = 0; i < N; i++) {
int id = 20150001 + i;
User user = new User(String.valueOf(id),String.valueOf(id),String.valueOf(id));
int i1 = userService.insertUser(user);
}
}
3. 查找与计时
@Test
public void readData(){
int headBegin = 20151002;
int tailBegin = 20151901;
long startTime = System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
int id = (headBegin+i);
userService.queryByID(String.valueOf(id));
id = tailBegin+i;
userService.queryByID(String.valueOf(id));
}
long endTime = System.currentTimeMillis();
System.out.println("程序用时:" + (endTime-startTime)+"ms");
}
4. 无索引查找
即无索引时,查找200条数据用时:13470ms,即13s。
为了均衡,查找的200条数据,100条位于前,100条位于后。
5. 有索引查找
创建索引:
实验结果
有索引时,查找200条数据用时1992ms,即不到2s。
相比较无索引的情况,速度提升了6倍有余。
6. 总结
使用索引很显然要比无索引好。
索引应该是数据库优化最核心的一步吧。