• Mysql(二)


    一、表的关系设计

    关系表的设计.png

    二、表一般都拥有的字段

    id
    create_time
    update_time
    但是,中间表就不要以上这三个字段了

    三、设置索引查询

    一般MySQL语句中都会设置索引查询,可以提高查询效率

    设置搜索索引.jpg

    四、数据库事务

    事务隔离级别.png

    事务的四大特性
    事务的原子性:sql语句要么成功,要么失败
    事务的一致性
    事务的持久性:事务一旦提交成功,就会持久性地保存在数据库中
    事务的隔离性:事务与事务是相互独立的,当A事务正在执行还未提交事务;B事务处于等待状态(相当于单线程)

    Mysql数据库是由java语言写成的,所以数据库中也支持多线程的
    由于数据库的事务隔离性,一旦在java程序中开始事务(默认的隔离级别是第三级:对增删改隔离),在操作增删改时,需要事务A提交后(释放锁),B事务才可以对数据库进行增删改
    但是,对于查操作,数据库第三级别没有进行事务隔离,那么事务A和事务B会同时获取到同一个数据;因此,在操作数据库的增删改操作时,我们需要考虑并发问题

    若客户端并发操作时,考虑到安全问题,我们需要先操作增删改,再去查询;若不符合,则需要回滚事务(通过开始事务后,方法中若有异常,会进行事务回滚),那么我们只要在不符合条件的情况下抛出异常,由全局异常处理器进行处理,且事务会自动回滚(把操作的sql语句还原)

    示例:商品购买:https://www.cnblogs.com/nadou/p/14004438.html

  • 相关阅读:
    Dockfile编写常见命令
    coreDNS域名无法解析问题
    开源软件
    容器相关
    日常工具
    持续集成
    mysql主从同步
    生产环境MySQL5.7-my.cnf 配置文件 for linux (转)
    工作交接流程引导图
    文章记录
  • 原文地址:https://www.cnblogs.com/nadou/p/14004413.html
Copyright © 2020-2023  润新知