zoukankan      html  css  js  c++  java
  • MySQL 汇总

    mysql 特性(ACID):
    原子性(Atomicity)
    一个事务就是一个原子,一个事务中的一系列的相关操作,要么全部成功,要么回撤为初始状态,不会停留在中间状态
    一致性(Consistency)
    事务执行的结果,必须是使数据库从一个一致性状态,变为另一个一致性状态
    隔离性(Isolation)
    一个事务内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能相互干扰
    持续(久)性(Durability)
    一个事务一旦提交,它对数据的改变就是永久性的,接下来其他操作或故障不应该对其执行的结果有任何影响

    mysql事务级别:
    读取未提交数据
    所有事务都可以看到其他未提交事务的执行结果,很少用于实际应用;读取未提交数据,也称之为 脏读
    读取提交数据
    一个事务只能看到已经提交事务所做出的改变;同一事务的其他实例在该实例处理期间可能会有新的提交,所有同一查询可能会有不同的结果
    可重读
    它确保同一事务的多个实例在并发读取数据时,看到的都是同样的数据;
    但可能会出现幻读,幻读指当用户读取某一范围的数据时,另一个事务又在该范围内插入了新行,当用户再次读取该范围的数据时,会出现新(幻影)行。
    可串行化
    这是最高的隔离级别,通过强制事务排序,使之不发生冲突,从而解决幻读问题。简而言之它是在每个读的数据行上加共享锁,不过可能会导致大量超时现象

    参考:https://blog.csdn.net/weisong530624687/article/details/90075063

    索引
    主键索引 (PRIMARY KEY)
    主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值
    普通索引 (INDEX)
    也叫单列索引 是最基本的索引,没有任何限制
    唯一索引 (UNIQUE)
    唯一索引和普通索引类似,注意区别是唯一索引限制列的值必须唯一
    复合索引
    也叫组合索引 是在多个字段上创建的索引,复合索引遵守“最左前缀”原则,既 在查询条件中使用了复合索引的第一个字段,索引才会被使用
    全文索引 (FULLTEXT)

    模糊查询都是通过 like 进行的,但对于海量数据,这并不是一个好的办法,like "value%" 可以使用索引,但 like "%value%" 这样的方式,执行全表查询,可以考虑使用全文所云进行优化
    注意:MySQL默认是不支持中文全文索引的,对于全文索引场景,更专业的做法是使用全文搜索引擎,如 ElasticSearch 或 Solr, Sphinx

     参考:https://blog.csdn.net/u010648555/article/details/81102957

  • 相关阅读:
    JavaScript对象的几种创建方式?
    TCP 三次握手,四次挥手
    常用的状态码
    前后端分离的接口规范
    京东架构师:日均 5 亿查询量的ElasticSearch架构如何设计?
    [转] 谈谈Spring中都用到了那些设计模式?
    [转]Post和Get的区别
    [转]17个常用的JVM参数
    从入门到熟悉HTTPS的9个问题
    布式事务和解决方案理论
  • 原文地址:https://www.cnblogs.com/blue-t/p/14590944.html
Copyright © 2011-2022 走看看