发表于: 2017-04-04 22:31:19

2 1490


今天完成的事情:

重启MySQL的命令:net stop mysql,  net start mysql.

进入MySQL数据库的命令:  mysql -hlocalhost -uroot -proot

查看MySQL的字符集:show variables like '%char%'

增加一个列:alter table user add name varchar(255);

auto_increment 自增ID。

8.将表导出成Sql文件,并使用navciat和Sql分别尝试删除此条数据,并用之前备份的Sql恢复。

9.给姓名建索引。

CREATE INDEX my_index ON `user` (NAME);

思考一下还应该给哪些数据建索引

参考:http://blog.csdn.net/maliao1123/article/details/52431144

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

索引注意事项:

1.数据量少的时候,效果不大。

2.对于值为纯数字或者本身已经有序排列的列建立索引效果不大。

索引的缺点:

1.增加了数据的存储空间。

2.在插入和修改数据时要花费较多的时间。

-------------------------------------------------------------------------------------------------------------

10.插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率。

无索引:

有索引:

INSERT INTO `user` (id,NAME) VALUES ('1','韦一'),('2', '张二'),('3','韦三'),('4', '张四'),('5','韦五'),('6', '张六'),('7','韦七'),('8', '张八'),('9','韦九'),('10', '张十');

观察sql执行的效率:插入10条数据时,有索引比没索引插入数据效率低,速度慢。


准备把maven配置到eclipse里,Preferences里没有这个选项。重新下一个eclipse。

重新安装了一个64位的eclipse 和64位的JDK。现在有了maven选项了:

15.创建一个新的maven项目

建立maven时的几个参数:

 groupId:所述的项目名称,由于有的项目并不是一个jar包构成的,而是由很多的jar包组成的。因此这个groupId就是整个项目的名称。

 artifactId:包的名称。

 version:版本号。

 packaging:包的类型,一般都是jar,也可以是war之类的。如果不填,默认就是jar。

 nameurl,一个是名称,一个是maven的地址。主要就是上面的几个参数。

Maven中的文件夹及作用:

pom.xml:用于定义或者添加jar包的依赖

src-main:用于存放java源文件

src-test:用于存放测试用例

target:生成对应的class文件或发布的jar包。

Maven常用命令:

Maven Build :用于编译Maven工程,执行命令后会在target文件夹中的classes生成对应的class文件

Maven Clean:删除target文件夹,即删除生成的package包以及class等文件

Maven Test : 先自动进行编译,在运行所有的测试用例。

Maven Install: 发布生成对应的package包。

16.在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。

明天的计划:

1..编写DAO,注意写清楚Interface和Impl,注意遵守命名规范。

2.学习JUnit

3.学习Maven

遇到的问题:本来打算插入100条数据,使用sql:

insert into user(title,datetimes) value('test'+getdate,getdate())go10000

不过没看懂,明天再研究下。

收获:看了几篇MAven的博客,走马观花,理解不深刻。




返回列表 返回列表
评论

    分享到