数据库
Magnum_yuanz
这个作者很懒,什么都没留下…
展开
-
【redis深度历险】基础篇
操作:set k vget k return vmset k1 v1 k2 v2mget k1 k2 k3 return list数据结构:string list(链表) hash set zsetstring:K-V形式代表常见用途:缓存用户信息,json序列化为字符串,缓存到redis;取信息反序列化新建的string的capacity一般是高于len的;小于一M时扩容加倍,超过1M 扩容+1M,最大长度为512M设置过期时间:setex k time vexp原创 2020-07-01 17:09:48 · 134 阅读 · 0 评论 -
高性能mysql_高性能索引
索引基础:索引类型索引在存储引擎层(不是服务器层)B树索引:索引有效范围(以姓 名 生日 的顺序为索引):全值匹配(所有具体姓 以及其名 生日等信息)最左前缀(仅姓为索引)匹配列前缀(姓索引列的开头字母等 J%这样的)匹配范围值(姓索引列的范围 比较 BOB 到 JACY之间)精准前列 范围后列(姓精准 名范围)只访问索引的查询(覆盖索引???)规则:1 最左前2 范围查询后的匹配无法使用索引哈希索引:每一个键值对 对应一个哈希码,哈希索引将所有哈希码存在索引中,原创 2020-06-24 20:29:17 · 113 阅读 · 0 评论 -
高性能mysql_schema/数据优化
建立表时的字段设计优化查询数据类型大小优先选择更小的数据类型,使用的硬盘,内存,cpu资源将会更小。选择不会超过范围的最小类型。简单数据类型简单数据类型需要更少的CPU周期,整型比字符操作代价低例如:timestap或者datetime存储时间,不用字符串;整型存储IP,不用字符串避免使用null值使用null对于索引 索引统计 值比较都更复杂,可以为null的列通常需要更多存储空间,作为索引时,每个记录需要一个额外的字节。设置为not null可以提升性能较小,设计时需要避免。原创 2020-06-10 21:48:32 · 203 阅读 · 0 评论 -
高性能mysql 第一章(架构与历史)
1 mysql基本架构1.1 架构三层线程 连接处理连接处理,授权认证,安全等每个客户端在服务器中有一个线程用以查询,线程轮流在CPU中运行,服务器进行线程缓存,无需为新建的连接创建或销毁线程。(新增线程池)SSL连接,然后继续验证是否具备某个特定查询的权限。查询 缓存 解析(核心)查询解析,分析,优化,缓存,内置函数(日期,时间,加密函数,math等)。夸存储引擎功能实现:存储过程,触发器,视图解析查询——创建内部数据结构(解析树)——优化(重写查询,军队表读取顺序,选择合适的索原创 2020-05-22 20:19:00 · 121 阅读 · 0 评论 -
金融数据库TDSQL
tdsql三层:网关层: 路由表 + 解析mysql(类似无状态的server)存储层:真实的mysql,添加agent用以容灾备份数据切换控制层:zookeeper用以存储状态,加一个keeper用以进行调度扩容:水平扩容垂直扩容谁扩容扩容到哪怎么扩一般来说 CPU打到了100的话,扩容整张表出去。如果记录太多,分裂扩容后,cache生成唯一key(node的hash)可以使用QQ号作扩容,使数据均匀插播一条 mysqlbinbinlog数据库的二进制文件,记录用户对数据库原创 2020-07-16 18:57:52 · 476 阅读 · 0 评论 -
DBMS_design theory(数据库设计理论)
超键(super key):在关系中,能唯一标识元组的属性或属性集。候选键(candidate key):不含有多余属性的超键。主键(primary key):若一个关系中有多个候选键,则选其中的一个为关系的主键。#####(为什么有的时候主键可以是集合形势的?)主属性(Primary Attribute):包含在任何一个候选键中的属性。非主属性(Nonprimary Attribute...原创 2019-12-05 04:47:09 · 226 阅读 · 0 评论