发表于: 2017-07-18 19:41:53

2 1261


今日完成:


22条数据有索引插入 时间36.41秒

无索引 15.26 无索引插入数据更快


实现java项目完成JDBC连接MySQL

导入MySQL驱动

输出结果

代码:

package com.jinhege.web.testMavenWeb;

import java.sql.*;

public class test {

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://localhost:3306/test"

+ "?severTimeZone=UTC&characterEncoding=utf-8&&useSSL=false";

static final String USER = "root";

static final String PASS = "jinhege";

public static void main(String[] args) throws SQLException {

Connection conn = null;

try {

Class.forName("com.mysql.jdbc.Driver");

System.out.println("连接数据库...");

} catch (ClassNotFoundException e) {

System.out.println("No jdbc driver ");

e.printStackTrace();

}

try {

conn = DriverManager.getConnection(DB_URL, USER, PASS);

} catch (SQLException e) {

System.out.println("DataBase connect failure!");

e.printStackTrace();

}

Statement stmt = null;

String sql = "select *from user ";

ResultSet resul = null;

try {

stmt = conn.createStatement();

resul = stmt.executeQuery(sql);

} catch (SQLException e) {

System.out.println("Statement create failure!");

e.printStackTrace();

}

System.out.println("查询的结果如下:");

while (resul.next()) {

System.out.println("user_id:" + resul.getString("user_id") + ",user_name:" + resul.getString("user_name")

+ ",user_sex:" + resul.getString("user_sex"));

}

/*sql = "insert into user(user_id,user_name,user_sex) " 

+ "values('1','金禾哥','男')";

int i = 0;

try {

stmt = conn.createStatement();

i = stmt.executeUpdate(sql);

if (i == -1) {

System.out.println("插入失败");

} else {

System.out.println("插入成功");

}

} catch (SQLException e) {

e.printStackTrace();

}*/

}

}


明天计划:

对1-17任务理解不好,遇到了很多困难,但在查看日报和百度后解决了大部分问题,明天要理解DAO,争取完成任务17

深度思考

5,为什么DB的设计中要使用Long来替换掉Date类型?

使用long类型方便网络数据的传输,date类型可直观观察到日期数据,而long类型方便计算,java读取后容易换算成所需的内容,date类型只在MySql中有意义,在java中并没有这种格式

6.自增ID有什么坏处?什么样的场景下不使用自增ID?

坏处,a,当删除一条数据后,数据就不存在连续性

         b,数据重复了自增不会处理和提示

c 在面对对象时,不能保证完整性(不懂)

d 分库的时候ID就不唯一了

场景:a,自增ID的作用是惟一地标识表中的某一条记录,如果能有其他能唯一标识该行数据的列,就不用设置自增ID

b,在做分布式数据库的时候,要求同步自增ID会出现严重问题

7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?

存储表中一个特定列的值数据结构就是索引,10W,如果表中某列在查询过程中使用的非常频繁,就在该列上创建索引


遇到的问题:

问题:使用DELIMITER $$

BEGIN

DECLARE count int ;

set count=0;

while count<100000 do

insert into a1(id,desire)

values('1','ONE MORE TIME');

set count=count+1;

end while;

end;

$$

但出现了如下错误,试了几次还是没能解决,就手动输入了22条看索引对插入数据的影响,希望师兄和各位路过的看官能指导一下



收获:

a, 创建表时date,tinyint 后面不需要跟(0),

b,解决了一个很粗心的错误,


然后报错 ,试了很多遍都不行最后才发现desire varchar(20) not null后面不应该加",",这两天遇到的很多错误都是不够细心,过于急躁造成的,往后一定要更加仔细地学习理论知识然后实践


返回列表 返回列表
评论

    分享到