一、看项目代码第8讲(数据库基础知识)、第9讲(进阶知识)、第10讲(运维知识)
项目代码第8讲【优化数据库查询效率——前篇】:所有数据库基础知识;SQL(DDL、DML、DQL、DCL);函数(聚合、字符串、数值、日期、流程);约束;多表查询;事务-优快云博客
项目代码第9讲【优化数据库查询效率——中篇】:数据库所有进阶知识;存储引擎(InnoDB;MyISAM;Memory);索引;区别分区/分表/分库-优快云博客
项目代码第10讲【数据库运维知识——如何优化数据库查询效率?】:各种日志查看;主从复制;分库分表(MyCat);读写分离-优快云博客
二、如何将多个.xlsx文件 变成 数据库中的表?
目的:实现如下图所示的项目,能够将多个.xlsx文件 变成 数据库中的表
即下图中所有.xlsx文件,都会在数据库中生成对应的表。
【注意:这里只是简单地 把.xlsx文件 在数据库中生成对应的表。生成的表是没有分区、没有索引的,也没有必要建立分区和索引。
为什么不建立分区和索引?——这里的表中的数据都没有多少,简单的查询速度已经很快了。没有必要再去提高查询效率。】
三、针对表中有很多数据的,实现数据库分区+索引
1、一次生成多个表和索引
目的:实现如下图所示的项目,能够 将会有很多数据的表,实现数据库分区+索引
1>区别二、,为什么这里的表需要分区+索引?
针对poly/.../lk_tubedatas这些表,当连接机台后,里面的数据将会非常非常多(几秒就会记录一次)。
同时,项目需要通过Select查询表中数据,把实时状态返回给前端进行展示。所以会在这种庞大的表中多次执行Select。通过下述两个链接中“索引和分区”的知识可以知道,建立索引和分区可以极大地提升Select查询效率。
- “索引”在下述链接二、3、2>3》
项目代码第9讲【数据库进阶知识】:存储引擎(InnoDB;MyISAM;Memory);索引;SQL优化;视图;存储过程;触发器;锁;InnoDB引擎(架构;事务原理;MVCC)-优快云博客
- “分区”在下述链接五、
项目代码第10讲【数据库运维知识——如何优化数据库查询效率?】:各种日志查看;主从复制;分库分表(MyCat);读写分离;区别数据分区、分表、分库-优快云博客
2>为什么一个表要建立好几个索引?
原因:下述链接二、3、2>3》
项目代码第9讲【数据库进阶知识】:存储引擎(InnoDB;MyISAM;Memory);索引;SQL优化;视图;存储过程;触发器;锁;InnoDB引擎(架构;事务原理;MVCC)-优快云博客
2、为其它需要提升Select查询效率的表 建立索引
注意,上图中 HasIndex 中的 Has 并不意味着它创建的是 Hash 索引,而是 Entity Framework Core 的命名约定的一部分。
默认是InnoDB存储引擎,其支持的索引结构是B+Tree。如下图