当业务并发程度高时可能就会遇到死锁问题,为了防止遇到这些问题变成鸵鸟,介绍一下如何解决死锁问题。
了解 mysql 的加锁原理mysql 的锁是基于索引的,如果未加索引会使用表级锁。隔离级别是 RC,在 Innodb 引擎下支持行级锁。当使用索引进行插入、更新、或者 select …from where xxxx for update 时会对对应的记录加上行级锁。
模拟产生死锁1 创建一张表123456create table user ( id bigint unsigned auto_increment comment '主键', name varchar(255) not null comment '姓名', age int not null comment '年龄', primary key (id)) engine=InnoDB charset=utf8mb4;
2 初始化数据123insert into user (name, age) VALUES ('张三', ...
基本概念索引是一种数据结构,通过索引可以快速检索数据,避免全表查询。
暂时无法在飞书文档外展示此内容
优点:
提高查询效率
降低数据排序成本
缺点:
占空间
降低更新表的速度
索引的结构1.概述暂时无法在飞书文档外展示此内容
B+ 树
最常见,大部分引擎支持
Hash
哈希表实现,只支持精准查询,不支持范围查询
R-tree
MyISAM 引擎的特殊索引类型,用于地理空间类型
full-text
倒排索引快速匹配文档
2.二叉树二叉树存在退化现象,退化成链表时查询性能大大降低。红黑树解决了平衡问题但是层数还是较深。
3.B 树多路平衡查找树,例如 max-degree 为 5 阶,每个节点存储 4 个 key 5 个指针
节点中的 key 超过度数时向上分裂
非叶子节点和叶子节点都会存放数据
每一页中存储的 key 减少,指针减少,保存同样量级的数据,树的高度会更高
4.B+ 树
所有的数据都出现在叶子节点
叶子节点形成一个单向链表
非叶子节点只起到数据索引的作用
Mysql 优化后的 B+ 树,增加了一个指向相邻节点的链表指针,利于排序,提高 ...
概述在锁可以用来控制多个进程或者线程对共享资源的访问,确保并发访问的一致性和有效性。数据库中的数据也是多用户共享的资源,所用来控制事务的并发访问。
MySQL 中锁的粒度分类:
全局锁:锁定数据库中的所有表
表级锁:锁定整张表
行级锁:锁定表中的某一行数据
全局锁对整个数据库的实例加锁,整个实例处于只读状态,DML、DDL 都会被阻塞。
应用场景:全库逻辑备份
语法
加全局锁
1flush tables with read lock ;
数据备份
1mysqldump -uroot –p1234 库名 > 文件名.sql
释放锁
1unlock tables ;
存在的问题
主库备份业务停摆
从库备份
主从数据不一致
在 InnoDB 引擎中,我们可以在备份时加上参数 –single-transaction 参数来完成不加锁的一致
性数据备份
1mysqldump --single-transaction -uroot –p123456 itcast > itcast.sql
表级锁每次操作对整张表加锁,粒度大,并发度低。
分类:
表锁
元数据 ...
你好大模型:人工智能的新里程碑什么是大模型?大模型(Large Language Models,简称 LLMs)是指参数规模达到数十亿甚至数千亿级别的大型深度学习模型。这些模型通过在海量文本数据上进行训练,能够理解和生成人类语言,执行各种复杂的自然语言处理任务。
核心特征1. 规模庞大
参数数量:从数十亿到数万亿不等
训练数据:涵盖互联网上的海量文本资源
计算需求:需要强大的算力支持
2. 能力多样
文本生成:创作文章、故事、代码等
问答系统:回答各种领域的问题
语言理解:分析文本情感、提取关键信息
多任务处理:无需专门训练即可适应多种任务
3. 关键技术
Transformer 架构
注意力机制
预训练与微调范式
代表性模型
模型名称
开发机构
参数规模
主要特点
GPT系列
OpenAI
1750亿+
强大的生成能力
BERT
Google
3.4亿
双向理解优势
T5
Google
110亿
统一文本到文本框架
PaLM
Google
5400亿
多语言能力突出
应用领域
内容创作
博客文章撰写
营销文案生成
创意写作辅助
编程开发
代码自 ...
