Loading

邢栋博客

“数据库“

redis底层数据结构总结

底层数据结构共有八种 编码常量 编码对应的底层数据结构 1、REDIS_ENCODING_INT long类型的整数 2、REDIS_ENCODING_EMBSTR embstr编码的简单动态字符串 3、REDIS_ENCODING_RAW 简单动态字符串 4、REDIS_ENCODING_HT 字典 5、REDIS_ENCODING_LINKEDLIST 双端链表 6、REDIS_ENCODING_ZIPLIST 压缩列表 7、REDIS_ENCODING_INTSET 整数集合 8、REDIS_ENCODING_SKIPLIST 跳跃表和字典 red...

mysql索引之聚簇索引和非聚簇索引

(一)各种树结构 1 搜索二叉树:每个节点有两个子节点,数据量的增大必然导致高度的快速增加,显然这个不适合作为大量数据存储的基础结构。 2 B树:一棵m阶B树是一棵平衡的m路搜索树。最重要的性质是每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;一个节点的子节点数量会比关键字个数多1,这样关键字就变成了子节点的分割标志。一般会在图示中把关键字画到子节点中间,非常形象,也容易和后面的B+树区分。由于数据同时存在于叶子节点和非叶子结点中,无法简单完成按顺序遍历B树中的关键字,必须用中序遍历的方法。 3 B+...

回顾mongo索引

测试索引 新建50万条数据 for(var i=0;i<500000;i++){db.myusers.insert({"i":i,"username":"user"+i,"age":Math.floor(Math.random()*120),"created":new Date()});} db.myusers.find({username:"user111"}).explain(true) { ............ "executionStats" : { "executionSuccess" : true, "nRetur...

mongodb复制集学习笔记

conf.conf 如下 bind_ip=192.168.1.100 port = 28001 logpath=/usr/local/mongodb/logs/28001 logappend=true dbpath=/usr/local/mongodb/datas/28001 replSet=imooc fork = true 查看当前复制集状态 rs.status() 或者 use admin; db.adminCommand({replSetGetStatus:1}) 查看当前复制集配置文件 rs.conf() show log rs #查看当前m...

mysql表字段Note

物理设计 数据类型的选择 如何选择 VARCHAR和CHAR类型 1.使用最小的符合需求的长度 2.varchar(5) varchar(200) 存储mysql字符串性能不同 varchar的适用场景 1.字符串列的最大长度比平均长度大很多 2.字符串列很少被更新 3.使用了多字节字符集存储字符串 char类型的存储特点 1.char类型是定长的 2.字符串存储在char类型的列中会删除末尾的空格 3.char类型的最大宽度为255 char的适用场景 1.char类型适合存储长度近似的值 2.char类型适合存储短字符串 3.char类型适合存储经常...

mysqlSQL优化Note

慢查询日志介绍 slow_query_log //启动停止记录慢查询日志 show variables like 'slow_query_log'; set global slow_query_log = on; slow_query_log_file 指定慢查询日志的存储路径及文件 long_query_time 指定记录慢查日志sql执行时间的阀值 // show variables like 'long_query_time'; log_queries_not_using_indexes 是否记录未使用索引的sql 常用的慢查询分析工具(...

mysql索引优化Note

Mysql支持的索引类型 B-tree索引 特点 B-tree索引以B+树的结构存储数据 B-tree索引能加快数据的查询速度 B-tree索引更适合进行范围查找[顺序存储] 在什么情况下可以用到B数索引 1.全值匹配的查询 order_sn = '123456' 2.匹配最左前缀的查询 3.匹配列前缀查询 order_sn like '123%' 4.匹配范围值的查找 order_sn > '123456' and order_sn < ...

关于mysql的基准测试之mysqlslap和sysbench

mysql基准测试工作之 - mysqlslap 常用参数说明 --atuo-generate-sql 由系统自动生成sql脚本进行测试 --auto-generate-sql-add-autoincrement 在生成的表中增加自增ID --auto-generate-sql-load-type 指定测试中使用的查询类型 --auto-generate-sql-write-number 指定初始化数据时生成的数据量 --concurrency 指定并发线程的数量 --engine指定要测试表的存储引擎,可以用逗号分割多个存储引擎 --no-drop 指...

mysql常用存储引擎以及简单介绍

1.MyISAM 特性 并发性与锁级别 表损坏修复 check table tablename repair table tablename MyISAM表支持的索引类型 MyISAM表支持数据压缩 命令行:myisampack //压缩就只能进行读操作 使用场景 非事务型应用 只读类应用(支持压缩) 空间类应用 2.Innodb 特性 事务型存储引擎 完全支持事务的ACID特性 Redo Log 和 Undo Log 支持行级锁 ...

常用sql语句整理

增 增加一张表 CREATE TABLE table_name(...)ENGINE=InnoDB DEFAULT CHARSET=utf8; 增加记录 INSERT INTO your_table_name(column_name) VALUES ('your_value_one'), ('your_value_two'); 增加字段 ALTER TABLE your_table_name ADD your_column_name ... AFTER column_name; 增加索引 主键 ALTER TABLE your_table_name AD...