摘要:1 mysql 根据锁的范围分为 全局锁,表级锁,和行级锁。 2 全局锁 2.1 全局锁会让整个表变成只读的状态。一般用在 数据的逻辑备份。 2.2 mysql 可是使用 Flash table with read lock (FTWRL) 给全局添加读锁。 2.3 mysql官方自带的逻辑备份工具
阅读全文
摘要:二级索引回到主键索引树搜索的过程,我们称为回表。索引的优化: 1 覆盖索引: 比如主键索引是ID 二级索引 k 是age, select age from T where id = 3 因为二级索引子叶子里面就是主键索引,所以查询数据之后, 可以不用回表,直接去从二级索引里面拿到 age 数据。 2
阅读全文
摘要:1 数据库的索引是为了提高数据的查询效率。2 索引常用的数据结构有, 2.1 hash表: 增加新的数据,查询依然很快,缺点是 查询范围数据慢。 适合做等值查询。 2.2 有序数组和长链表:适合做范围查询和等值查询, 只适用于静态数据引擎,缺点是当往数据中间插入记录的时候,需要挪动后面所有的记录。
阅读全文
摘要:redo log当数据库更新一条记录的时候,innoDB 引擎,会先把记录写道redo log 中,并更新内存,这个时候更新就算完成了。当系统比较空闲的时候,再读取redo log 中的记录把更新信息记录到磁盘中。 因此数据库就具备了 crash-safe 能力。 binlogmysql 分为两块:
阅读全文
摘要:1 事务就是一组数据库操作,要不全部都成功,要不全部都失败。2 事务包含ACID (Atomicity Consistency Isolation Durability)。3 数据库上有多个事务同时执行的时候,就有可能造成 脏读(dity Read)不可重复读(no-repeatable read)
阅读全文
摘要:这个今天使用mongo 查询数据遇到的bug, 这实体类中 有两个字段 oldExceptDesposit 和newExceptDeposit 是int 类型,查询不需要它们。可是在查询的时候不用withIgnorePath 忽略它们,就查询不到数据。 注意boolean 类型的字段也要 忽略一下
阅读全文