发表于: 2017-04-04 22:31:19
2 1489
今天完成的事情:
重启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。
name和url,一个是名称,一个是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的博客,走马观花,理解不深刻。
评论