摘要:
测试场景 MySQL版本: 5.7.29 事务级别: READ-COMMITTED 测试数据 DROP TABLE IF EXISTS tb1001; CREATE TABLE `tb1001` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `c1` INT(11) 阅读全文
摘要:
单实例备份脚本 #!/bin/bash ## ## ## 用户授权脚本: ## GRANT SELECT, RELOAD,SHOW DATABASES, EVENT, LOCK TABLES,REPLICATION CLIENT ## ON * .* TO 'mysql_backup' @'%' I 阅读全文
摘要:
Instant Add Column 功能限制 MySQL 8.0提供了快速新增列的功能,使用该功能限制: 添加列不能在同一语句中与ALTER TABLE不支持的其他操作组合使用ALGORITHM=INSTANT。 只能将一列添加为表的最后一列。不支持将列添加到其他列中的任何其他位置。 列不能添加到 阅读全文
摘要:
PUBSUB学习 基础知识 在Redis中可以使用LIST来实现简单的消息队列功能,但基于LIST实现的消息队列无法实现"消息多播"的功能。 Redis单独实现PubSub模块来实现"消息多播"功能,并支持模式订阅 常用命令 PUBSUB:用于检查消息订阅的状态信息。 PUBLIST:将消息传递给特 阅读全文
摘要:
简易版HyperLogLog 实现逻辑: 采用简单调和平均数来计算,去除首尾10%的数据后进行估算。 Python代码: import math import random import uuid import hashlib from bisect import bisect_right HLL_ 阅读全文
摘要:
基础结构和常量 struct hllhdr { char magic[4]; /* "HYLL" */ uint8_t encoding; /* HLL_DENSE or HLL_SPARSE. */ uint8_t notused[3]; /* Reserved for future use, m 阅读全文
摘要:
Lazy Free特性 惰性删除或延迟释放(Lazy Free),指在删除KEY时,采用异步方式延迟释放EKY所使用的内存,将该操作交给单独的子线程BIO(backgroup I/O)进行处理,避免在同步方式删除KEY对Redis主线程的长期占用而影响系统可用性。 在删除超大KEY如单个EKY占用内 阅读全文
摘要:
Redis Stream ID 基础知识 在Redis Stream数据结构中,Stream ID用来表示流中的特定条目,在XADD时可以指定StreamID,也可以使用参数*来让Redis自动生成一个唯一的StreamID。 自动生成StreamID有两个64位的整数组成,如15269190304 阅读全文
摘要:
场景描述 假设表TB1001中有300行记录,ID列数据分布从1递增至300,C1列数据分布从1001至1100,其表结构如下: CREATE TABLE TB1001( ID INT NOT NULL PRIMARY KEY AUTOINCREMENT, C1 INT NOT NULL, C2 V 阅读全文
摘要:
检查当前实例是否有外键/视图/触发器/事件等 ## 检查非系统数据库外视图 SELECT * FROM information_schema.views WHERE TABLE_SCHEMA NOT IN('information_schema','sys','performance_schema' 阅读全文