数据库
文章平均质量分 75
数据库
喝醉的小喵
人生何处不迷雾,东隅已逝,桑榆非晚
展开
-
【mysql】自增锁
自增锁是一种表级锁,在使用自增主键(AUTO_INCREMENT)时,为了保证数据唯一性,在插入数据时,innodb 会对自增字段进行加锁,以确保并发情况下每条记录都能够获得唯一的自增值。如事务 A 正在插入数据,则另一个事务 B 尝试 INSERT 语句,B 会被阻塞住,直至 A 释放自增锁。原创 2024-08-18 17:19:51 · 478 阅读 · 0 评论 -
【mysql】并发 Insert 的死锁问题:Deadlock found when trying to get lock; try restarting transaction
这样可以控制多个事务锁定资源的顺序,也就是在一个事务中,执行子查询会锁定 pid 所在的行(X锁),直至 Insert 结束,此过程中其他事务不能在对相同行加 X锁或S锁,需等待前一个事务完成后才能继续执行。`,导致事务在计算 display_order 值的过程中,锁定相关行。如果多个事务同时执行插入操作,锁定相同的行,就会导致互相等待的情况,出现死锁。但是不能完全解决问题,当多个并发事务语句中的 pid 相同时,仍会锁定相同行,导致死锁。:使用事务,先执行子查询,获取数据后在同一个事务中执行插入。原创 2024-08-14 18:39:29 · 478 阅读 · 0 评论 -
【mysql】sysbench压测工具
【代码】【mysql】sysbench压测工具。原创 2024-08-18 13:51:30 · 220 阅读 · 0 评论 -
【数据库】mongo
而多键索引主要用于支持包含数组或嵌套文档的字段的查询,它允许数据库系统对数组中的每个元素进行索引。索引大小:非聚簇索引的大小通常取决于索引字段的值和指针的大小。而多键索引可能会增加索引的大小,因为对于每个数组元素,索引条目:非聚簇索引的索引条目是指向数据行的指针和索引字段的值。而多键索引的索引条目是数组元素或嵌套文档本身。索引本身是在高速缓存当中,相比磁盘IO操作会有大幅的性能提升。面向文档 的存储方式(bson),模式自由,不需要字段定义。单字段索引、复合索引、多键索引、哈希索引、文本索引。原创 2024-04-27 19:11:24 · 273 阅读 · 0 评论 -
【数据库】mysql
同样,如果查询条件包含范围查询,如a=1 and b>2 and c=3,那么索引匹配在b字段上就会停止,因为b字段是一个范围查询,它之后的字段(如c字段)将无法使用索引。一个表可以有多个非聚簇索引,因为非聚簇索引只是数据的副本,并不会改变数据的物理存储顺序。优化查询计划:查询优化器生成一个或多个可能的查询执行计划,优化器会评估每个计划的成本(磁盘/CPU/内存),选择成本最低的。在一个事务内执行相同的查询,但由于其他事务插入了满足其查询条件的新行,导致第二次查询返回了更多的行。原创 2024-04-27 19:08:07 · 938 阅读 · 0 评论 -
【数据库】分库分表 & 数据库迁移
2. 数据库迁移1. 分库分表。原创 2024-04-27 19:25:22 · 603 阅读 · 1 评论 -
【数据库】elasticsearch
当删除请求发送后,文档并没有真的被删除,而是在.del文件中被标记为删除。在新的文档被创建时,Elasticsearch会为该文档指定一个版本号,当执行更新时,旧版本的文档在.del文件中被标记为删除,新版本的文档被索引到一个新段。在创建索引时,可以指定主分片的数量,一旦索引创建完成,主分片的数量就不能再更改。副本分片与主分片分布在不同的节点上,当主分片所在的节点出现故障时,副本分片可以接管主分片的工作,确保服务的连续性。副本是主分片的完全复制,用于提供数据的冗余备份,增强数据的可用性和容错能力。原创 2024-04-27 19:17:49 · 492 阅读 · 2 评论