分类 数据库 下的文章

技术依赖:如无特殊说明;所有配置和技术选型均采用Ruoyi-vue快速开发框架

    SpringBoot
    Mybatis
    Mysql 
    vue-element ui

说明:一个订单中有多种商品;所以有一个订单表有一个订单详情表

表结构设计:
订单表:order

     order_id 订单表ID
     

订单详情表:order_items

    id :详情表ID
    order_id:订单表ID
    goods_id:商品ID

增加订单:
Controller层代码:

外键是相对于主键说的,是建立表之间 的联系的必须的前提。

比如这里有两张,

sys_users表
sys_dept表

我们可以通过外键使两张表进行关联。

sys_users表中有一个dept_id(部门ID)

创建外键的作用是什么?

可以使得两张表关联,保证数据的一致性和实现一些级联操作。

那么保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。

使两张表形成关联,外键只能引用外表中的列的值!

可以使得两张表关联,保证数据的一致性和实现一些级联操作。

1、为了一张表记录的数据不要太过冗余。

2、保持数据的一致性、完整性。

数据库 - 执行计划

  1. 执行计划命令
    explain
  2. 命令参数
    analyze:选项为TRUE 会实际执行SQL,并获得相应的查询计划,默认为FALSE

buffers:buffers必须跟analyze一起使用,只有真实执行SQL才能获取缓冲区信息

costs:表示每一个计划节点的估计启动和总代价,以及估计的行数和每行的宽度

Verbose :显示关于计划的额外信息 ,例如:节点输出的列(Output)

Format(text,xml,json,yaml)(格式化输出)

3:查看输出的结果分析是什么原因造成的SQL查询缓慢

jihua.png

4: