数据库
dotsee
这个作者很懒,什么都没留下…
展开
-
MySql范围查找时,索引不生效问题原因
1 问题描述本文对建立好的复合索引进行排序,并取记录中非索引字段,发现索引不生效,例如,有如下表,DDL语句为:CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` var...原创 2018-07-31 17:37:25 · 26177 阅读 · 4 评论 -
mysql锁机制总结
以下探讨皆是针对数据库默认的隔离级别(REPEATABLE READ)来说的1 mysql加锁的两个规则原则 1:加锁的基本单位是 next-key lock。并且,next-key lock 是前开后闭区间。原则 2:查找过程中访问到的对象才会加锁。2 mysql加锁过程中的一个优化优化1:索引上的等值查询,给唯一索引加锁的时候,,next-key lock退化为行锁。优化2:索引上...原创 2019-01-20 20:51:35 · 433 阅读 · 0 评论 -
从一条sql语句执行过程联想到的redo和binlog
1 引言mysql 日志可分为一下集中错误日志(error log):对mysql的启动、运行、关闭过程中产生的错误、警告或者甚至正确信息二进制文件(binlog):记录所有对mysql的写操作语句,有statements和row模式慢查询日志 (slow query log):记录运行时间超过指定或者默认时间的sql查询日志(log):记录所有对mysql的数据库请求信息重做日记(...原创 2019-01-26 21:05:09 · 232 阅读 · 0 评论 -
索引再梳理
1 常见的索引类型HASH顺序表B树B+树红黑树跳表哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。哈希表这种结构适用于只有等值查询的场景,比如 Memcached 及其他一些...原创 2019-01-29 20:53:07 · 161 阅读 · 0 评论