总结:
发现的BUG
1.service不用单独在写getByid();可以再controller直接调用, 已解决
2.controller 返回的直接返回result, 已解决
3.return返回地址前面加 / , 已解决
4.分页使用一个service, 已解决
5.导出 export开头, 已解决
6.日期分割, 已解决
7.freemark返回的date数据,前台解决, 已解决
什么是数据库索引
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。设置索引的字段跟没设置的字段就像map集合跟list集合一样,加上索引就像字典一样精准定位到具体的数据,所以会大大的提升,但是依次付出的是用空间跟速度去交换,因此不是所有的字段都可以去加上索引,要根据情况去处理到底是否加索引
如何设置数据库索引
1.首先打开的navicat,并找到一张要加索引的数据表,点击设计表
我们给state这个状态字段加上索引,(通常加索引都是int类型的数据,),在栏位旁边有一个索引
2.设置索引字段,设置栏位,选择字段
选择类型
Normal:
表示普通索引,大多数情况下都可以使用
Unique:
约束唯一标识数据库表中的每一条记录,即在单表中不能用每条记录是唯一的(例如身份证就是唯一的),Unique(要求列唯一)和Primary Key(primary key = unique + not null 列唯一)约束均为列或列集合中提供了唯一性的保证,Primary Key是拥有自动定义的Unique约束,但是每个表中可以有多个Unique约束,但是只能有一个Primary Key约束。
Full Text:
表示全文收索,在检索长文本的时候,效果最好,短文本建议使用Index,但是在检索的时候数据量比较大的时候,现将数据放入一个没有全局索引的表中,然后在用Create Index创建的Full Text索引,要比先为一张表建立Full Text然后在写入数据要快的很多
索引方式
BTree索引是最常用的mysql数据库索引算法,因为它不仅可以被用在=,>,>=,<,<=和between这些比较操作符上,而且还可以用于like操作符,只要它的查询条件是一个不以通配符开头的常量,例如:
select * from user where name like ‘jack%’;
select * from user where name like ‘jac%k%’;
如果一通配符开头,或者没有使用常量,则不会使用索引,例如:
select * from user where name like ‘%jack’;
select * from user where name like simply_name;
Hash索引只能用于对等比较,例如=,<=>(相当于=)操作符。由于是一次定位数据,不像BTree索引需要从根节点到枝节点,最后才能访问到页节点这样多次IO访问,所以检索效率远高于BTree索引。
名:通常都是字段名+Index 组合