随笔分类 - 数据存储
摘要:search流程,分为查询query阶段,和fetch取回阶段,也叫query then fetch。 为什么要分成2个阶段。因为协调节点,也不知道数据分别在哪个分片上,所有在协调节点会找到所有分片,让每个分片执行查询,最后在协调节点将结果合并,返回给客户端。 假设有5个分片,查询相关度最高的10个
阅读全文
摘要:表锁 添加表锁 查看表锁 关闭表锁 意向锁 验证意向锁 对记录r加上一个行锁,然后对整张表加锁。 对行记录进行加锁 开启另一个session,对表加上写锁。当前事务进入阻塞状态,一直到上一个事务提交,释放掉排它锁。 解决数据丢失更新问题 数据丢失更新问题,指的是业务上,T1对r进行读取操作,得到数据
阅读全文
摘要:开启binlog日志 重启mysql 查看binlog日志的位置 查看binlog日志
阅读全文
摘要:一、安装&启动 下载 https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.1.8/ 快速开始文档,HBase2.1.8 http://hbase.apache.org/2.1/book.html 配置hbase site.xml 配置hbase e
阅读全文
摘要:一、数据结构 string Redis字符串是可修改字符串,在内存中以字节数组形式存在。 下面是string在源码中的定义,SDS(Simple Dynamic String) Redis规定字符串的长度不超过512M。 Redis字符串的两种存储方式: 长度特别短,使用emb形式存储 长度超过44
阅读全文
摘要:count优化 MyISAM会将总记录数缓存,但如果加上where条件,则缓存值失效。 若有500w条记录,需要统计id 100的总行数。 一个优化思路,反向操作,降低查询次数。 sql select from student where classid 90001 order by stuid l
阅读全文
摘要:问题解决 1、由于目标计算机积极拒绝 无法连接 原因:还没有启动mongodb,就使用mongo命令 解决方法:在bin目录下输入 mongod dbpath XXXX/data 然后在输入 mongo 一、基础操作 每条对特定表的操作都需要以 db.表名 开头,如插入操作 db.person.in
阅读全文
摘要:IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 0 and expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值
阅读全文
摘要:更新表中的字段 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 清空表 DELETE FROM 表名称 WHERE 列名称 = 值 truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table
阅读全文
摘要:锁粒度:表锁、行级锁 表锁锁定整张表 隔离级别: 未提交读:事务中的修改,即使没有提交,对其他事务也是可见的。事务可以读取未提交的数据,也被称为脏读。实际应用中比较少用 提交读:一个事务提交之前,所做的任何修改对其他事务都是不可见的。两次执行同样的查询,可能得到不同的结果。也叫不可重复读。 可重复读
阅读全文
摘要:安装 centos安装见 https://blog.csdn.net/wohiusdashi/article/details/89358071 https://blog.csdn.net/q258523454/article/details/84555847 命令 查看表的隔离级别 设置表的隔离级别
阅读全文
