java 代码
先是引入mysql 驱动包 ,版本看自己来,我因为用的spring boot 框架,自动维护了。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
上代码
亲朋好友门,友情温馨提示,Thinkpad P15V 32G 2T固态盘 已经安装程序:docker k8s istio kubersphere(全工具链)已占用10G内存 第一次插入时,同时查询造成死锁 东北地区,拿了五个冻鸭梨降温,12条底座风扇降温,依旧死机。。。
package com.godzt.jeegit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.UUID;
public class JeeGitTidbTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
final String url = "jdbc:mysql://127.0.0.1:4000/teacher?useUnicode=true&characterEncoding=utf-8&&useOldAliasMetadataBehavior=true&useSSL=false" ;
final String name = "com.mysql.jdbc.Driver" ;
final String user = "root" ;
final String password = "root" ;
Connection conn = null ;
Class.forName(name);
conn = DriverManager.getConnection(url, user, password);
if (conn!= null ) {
System.out.println( "获取连接成功" );
insert(conn);
} else {
System.out.println( "获取连接失败" );
}
}
public static void insert(Connection conn) {
Long begin = new Date().getTime();
String prefix = "INSERT INTO t_teacher (id,t_name,t_password,sex,description,pic_url,school_name,regist_date,remark) VALUES " ;
try {
StringBuffer suffix = new StringBuffer();
conn.setAutoCommit( false );
PreparedStatement pst = (PreparedStatement) conn.prepareStatement( "SELECT 1;" );
for ( int i = 1 ; i <= 100 ; i++) {
suffix = new StringBuffer();
for ( int j = 1 ; j <= 100000 ; j++) {
suffix.append( "('" +UUID.randomUUID()+ "','" +i*j+ "','123456'" + ",'男'" + ",'教师'" + ",'www.jeegit.com'" + ",'XX大学'" + ",'" + "2016-08-12 14:43:26" + "','备注'" + ")," );
}
String sql = prefix + suffix.substring( 0 , suffix.length() - 1 );
pst.addBatch(sql);
pst.executeBatch();
conn.commit();
suffix = new StringBuffer();
}
pst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
Long end = new Date().getTime();
System.out.println( "1000万条数据插入花费时间 : " + (end - begin) / 1000 + " s" );
System.out.println( "插入完成" );
}
}
运行时 cpu 状态
运行结果
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 获取连接成功 1000万条数据插入花费时间 : 400 s 插入完成
运行后CPU 状态(插入操作结束已经过去了5分钟左右)
查询速度
SELECT count(1) from t_teacher;
耗时:1.144 s
SELECT count(1) from t_teacher where school_name LIKE ‘XX大学要%’
9001 - PD server timeout%!(EXTRA string=start timestamp may fall behind safe point) 时间: 269.025 秒
吓死我了,我以为又死机了。。。。
SELECT count(1) from t_teacher where school_name = ‘XX大学要’
OK 时间: 0.907 秒
这个速度还是可以接受的,千万别like
最后因为这几次的查询,我的cpu已经没有什么剩余了。。。
kubesphere 一直loading…
free 命令显示我还剩下2.6G 不到空间能使用。。。。。 32G啊。。。。
就这么活生生的。。。。。瞬间消失不见。。。
因果-自作孽不可活
刚才去了趟厕所,中途没有任何操作,风扇呼呼响, 机器死机,等待了30分钟,感觉笔记本已经太热了,顺便烤熟了半个鸡蛋。决定关机处理了。。。。。。。
友情提示:非 裸金属架构服务器,莫要尝试!
github 官方咨询留言回复速度还是蛮快的
|