• MySQL--高性能MySQL笔记一


    链接管理与安全性:
    每个客户端连接都在服务器进程中拥有一个线程。
    MySQL5.5以及更新的版本提供了一个API,支持线程池插件,可以使用池中少量的线程服务大量的链接。
    认证基于用户名、密码和原始主机信息。
     
    并发控制:
    在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题,这两种类型的锁通常被称为共享锁(shared lock)、排他锁(exclusive lock)。也叫读锁或者写锁。
     
    锁策略:
    在锁的开销和数据的安全性之间寻求平衡,一般都是在表中施加行级锁(row-level-lock)。
     
    表锁和行级锁
    事务:一组原子性的sql查询,一个独立的工作单元。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询。
    ACID:原子性atomicity 一致性consistency 隔离性isolation 持久性 durability
     
    四种隔离级别:
    READ UNCOMMITTED 未提交读 : 事务中的修改,即使没有提交,对于其他事务也都是可见的。事务可以读取未提交的数据,脏读。
    READ COMMITTED 提交读: 大多数数据库的默认隔离级别, read committed ,但是MySQL不是。一个事务从开始到提交之前,所做的任何修改对其他事务都是不可见的。
    REPEATABLE READ 可重复读 : 解决了脏读的问题,保障了在同一个事务中多次读取同样的记录结果一致。解决不了幻读问题(当某个事务在读取某个范围内的记录的时候,另一个事务又在该范围内插入了新的记录)。 可重复读是MySQL默认的事务隔离级别。
    SERIALIZABLE 可串行化 : serializable是最高级的隔离级别。
     
    MVCC 多版本并发控制。
     
    InnoDB 存储引擎:InnoDB存储引擎是MySQL的默认事务性引擎,也是最重要,最广泛的存储引擎。
     
    MyISAM 存储引擎: 不支持事务和行级锁。奔溃后无法完全恢复。
    TPS:每秒事务数。
     
     
    Scherma 与数据类型优化:
    存储数据选择正确的数据类型: 更小的,占用跟少的磁盘、内存和CPU缓存。简单就好,使用MySQL内建的类型来存储日期时间,使用整形存储IP地址。尽量避免NULL,
     
    timestamp只是用datetime 一半的存储空间。但允许的时间范围小的多。
     
    对于存储来说INT(1)和INT(20)是一样的。
     
    BLOB和TEXT 都是为了 存贮更大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储。
    与其他类型不同,MySQL把每个blob和text值当作一个独立的对象处理。
     
    MySQL提供了FROM_UNIXTIME() 函数把unix时间戳转换为日期,并提供了UNIX_TIMESTAMP() 函数把日期函数转换为unix 时间戳。
     
    TIMESTEMP的列默认为 NOT NULL ,没有指定列的值则默认为当前时间。
     
    mysql把BIT当作字符串类型。
     
     
     
     
     
  • 相关阅读:
    Tensorflow-卷积神经网络CNN
    Tensorflow-tensorboard展示网络结构
    机器学习十讲-第二讲回归
    Tensorflow-各种优化器总结与比较
    Tensorflow-交叉熵&过拟合
    机器学习十讲-第一讲
    Tensorflow-线性回归与手写数字分类
    Tensorflow-基础使用
    Python-Flask搭建Web项目
    mybatis-plus之逻辑删除&自动填充&乐观锁
  • 原文地址:https://www.cnblogs.com/jsersudo/p/11398662.html
Copyright © 2020-2023  润新知