随笔分类 - 数据库
摘要:AUTO_INCREMENT 自增主键可以让主键仅可能的保持递增顺序插入,让索引更紧凑,但是可能会暴露业务数据,黑客可以根据一个id推断其它id,分布式场景可能存在抢主键问题。 自增主键保存在哪里? MyISAM引擎自增主键保存在数据文件中,即使重启也不会丢失。 InnoDB在8.0以前保存在内存里
阅读全文
摘要:全局锁 FTWL 使用全局锁后数据库只允许读不允许写。 # 1. FLUSH TABLE WITH READ LOCK; # 加锁 UNLOCK TABLES;# 解锁 # 2. SET GLOBAL READ_ONLY=TRUE # 第一种方式在客户端断开后会自动释放 表锁 MyISAM引擎只有表
阅读全文
摘要:ACID A:automicity 原子性:一个事务的所有操作要么全部完成,要么全部不完成。 C:consistency一致性:事务开始和结束以后,数据库的完整性约束没有被破坏 I:Isolation 隔离性,不同事务互不影响 D: durability 持久性,事务结束后对数据的修改是永久的。 #
阅读全文
摘要:按存储方式分 B-树,B+树 哈希索引 Memory引擎默认索引时哈希索引 逻辑区分 普通索引 主键索引:mysql会自动为主键创建主键索引 唯一索引:索引值必须唯一的普通索引 全文索引 空间索引:MyISAM引起支持,用于地理空间数据类型GEOMETRY,SPATIAL关键字 实际使用划分 单例索
阅读全文
摘要:Explain语句可以查看SQL的执行情况,根据执行情况进行优化。 1. id id查询的标识符,几个查询几个id。NULL表示引用其它行的结果。id越大执行优先级越高 2. select_type SIMPLE: 简单查询 PRIMARY: 最外层查询 UNION: 使用union时第二个查询和之
阅读全文
摘要:like 字符匹配 not like _:匹配任意一个字符; %:匹配0个或多个字符; [ ]:匹配[ ]中的任意一个字符(若要比较的字符是连续的,则可以用连字符“-”表 达 ); [^ ]:不匹配[ ]中的任意一个字符。 avg 求均值 avg会忽略空值,比如有10条数据,存在两个空值则求平均值时
阅读全文