fyn

InnoDB 聚集索引和非聚集索引

目录 * 1 区别 * 2 覆盖索引减少回表 * 3 如何创建聚集索引 * 4 延伸:MyISAM 区别 聚集索引包含所需的所有数据,比如mysql整张表就是一个聚集索引 比如索引的key就是主键,值就是这一行的所有字段,根据主键查询时可以直接查到所有字段 非聚集索引不包含所有数据,但会包含聚集索引的key 比如索引的key是两个自定义的字段,而值就是主键,根据这两个字段,只能直接查出主键是什么,所以这时如果想查询其它字段的值还会通过主键去聚集索引中再查询一次(即回表)。 覆盖索引减少回表 如果查询的条件或结果中,只使用了非聚集索引定义中的那几个字段的话,就不会回表二次查询。 比如索引是uid, username两个字段: 执行SELECT status WHERE

B树和B+树的区别

B树中的元素不会出现重复的,元素有可能在中间节点也有可能在叶子节点。 B+树中所有元素都会出现在叶子节点,但也有可能同时出现在中间节点。B+树叶子节点间有额外的链表结构。 这两点会让B+树在按连续的范围查找时比B树更快。 另外B树在查找时不同的元素因为在不同层级的节点,所以不同的元素查询时间可能有差异,而B+树所有的元素都在叶子节点所以查询的时间更平均一些 B树每个元素都包含卫星数据。 B+树只有叶子节点中的元素包含卫星数据。 这会使在中间节点的页大小相同的情况下B+树能比B树存更多的节点,也就意味着B+树有可能比B树更矮一些(树的高度决定磁盘io次数,越矮次数越少)

WordPress jetpack插件验证失败的原因

抓包发现jetpack发到网站的请求返回了faultCode:32700,jetpack parse error. not well formed的错误。 执行php -m查看发现没有安装xml扩展,apt install php7.2-xml解决

解决git的error: cannot lock ref问题

今天更新代码时出现了这个错误信息 error: cannot lock ref 'refs/remotes/origin/xxxx/log': 'refs/remotes/origin/xxxx' exists; cannot create 'refs/remotes/origin/xxxx/log' From ssh://ssh.gitlab.oooo.

nginx+fpm+upstream调优

最近发现服务器经常出现502的问题,但是并发量并没有达到那么高(fpm设置了500个进程)。看了一下nginx的配置 upstream fastcgi_backend { server 127.0.0.1:9000; server 127.0.0.2:9000; server 127.0.0.3:9000; server 127.0.0.4:9000; } 4个IP的问题,问了运维,