zoukankan      html  css  js  c++  java
  • 春招准备(二)——数据库方面知识

    1、数据库事务

    四个特性(ACID):原子性、一致性、隔离性、持久性

    •   原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么全发生,要么都不发生
    •   一致性:如果事务执行之前是一个完整的状态,那么事务结束后,无论事务是否执行成功,数据库仍然是一个完整的状态
    •   隔离性:当多个用户访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间要数据隔离
    •   持久性:指一个事务一旦被提交,他对数据库的影响是永久性的。

    2、事务的隔离级别

    脏读

    未提交的事务进行数据修改对其他事务都是可见的,如果一个事务读到了其他事务未提交的数据就是脏读。

    不可重复读(大部分数据的的隔离级别是这个,mysql不是这个)

    在当前事务中,读取到了其他事务的更新和删除的数据(强调更新和删除)

    可重复读(mysql默认事务隔离级别)

    可以防止脏读、不可重复读,不能防止幻读

    序列化:数据库被设计为单线程,可以防止上述所有问题

    读已提交:可以防止脏读问题,但是不能防止 不可重复读/幻读问题。(oracle默认隔离级别)

    3、范式

    第一范式:每一个属性都不可再分,没有重复列或者重复组

    第二范式:每一个非主属性都完全依赖于候选码,不存在部分依赖

    第三范式:每一个非主属性不能传递依赖,消除传递依赖

    BF范式:每一个决定因素中都有码,决定性因素子集中有码,消除任何属性对键的传递函数和部分函数依赖

    4、Mysql存储引擎

    存储引擎是数据库管理系统用来从数据库创建、读取和更新数据的软件模块。MySQL中有两种类型的存储引擎:事务性和非事务性。

    对于MySQL 5.5及更高版本,默认的存储引擎是InnoDB。在5.5版本之前,MySQL的默认存储引擎是MyISAM。

    5、Mysql行级锁

     乐观锁和悲观锁

      乐观锁:每次去哪数据的时候都认为别人不会修改,所以不会上锁,乐观锁适用于多读的应用类型

      悲观锁:悲观锁每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边 就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。

    共享锁
    又称读锁,是读取操作创建的锁,其它用户可以并发读取数据,但是任何事务都不能对数据进行修改。如果事务T对数据加上共享锁后,其它事务只能对A再加共享锁,不能加排他锁。

    排他锁
    又称写锁,如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的锁。获准排他锁的事务既能读数据,又能修改数据。

    6、索引

    索引是一种数据结构可以帮我们快速检索数据库中的数据

    索引类型

    • 主键索引:主键是一种唯一性索引,但它必须指定为PRIMARY KEY,每个表只能有一个主键。
    • 唯一索引:索引列的所有值都只能出现一次,即必须唯一,值可以为空。
    • 普通索引:基本的索引类型,值可以为空,没有唯一性的限制。
    • 全文索引:全文索引的索引类型为FULLTEXT。全文索引可以在varchar、char、text类型的列上创建。可以通过ALTER TABLE或CREATE INDEX命令创建。

    索引的数据结构

     hash索引:Hash索引底层是哈希表,哈希表是一种以key-value存储数据的结构,所以多个数据在存储关系上是完全没有任何顺序关系的,所以,对于区间查询是无法直接通过索引查询的,就需要全表扫描。所以,哈希索引只适用于等值查询的场景。

     B+ tree索引:B+树是一种多路平衡查询树,他的节点是天然有序的(左节点<根节点,根节点<右节点),所以查询范围的时候不需要全表扫描

    其他区别:hasn索引适合做等值查询但是无法做范围查询;hasn索引没法利用索引进行排序;如果有大量重复键值情况下,哈希索引效率很低,可能存在哈希碰撞

     

  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/9797ch/p/12296703.html
Copyright © 2011-2022 走看看