2019-12-05

总结:

发现的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 组合


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容