论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
mysql优化
mysql优化
八卦阵
论坛元老
|
2024-9-2 13:49:42
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
1518
|
帖子
1518
|
积分
4554
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
mysql数据库,是一种关系型数据库。
1.mysql引擎
mysql主要是有innodb和myisam两种引擎。
innodb引擎:
事务支持:InnoDB 是支持事务的存储引擎,可以使用提交(commit)和回滚(rollback)来保证数据的完整性。
行级锁定:InnoDB 使用行级锁定(row-level locking),这意味着在操作数据时只会锁定需要修改的行,而不是整个表,有助于提高并发性能。
外键束缚:InnoDB 支持外键束缚,可以确保数据的完整性,保证参照完整性。
瓦解规复:InnoDB 提供了瓦解规复功能,可以主动举行规复,保证数据的一致性。
innodb是聚集索引,接纳b+tree的索引结构文件。存储必天生主键。
存储文件:.frm 存储表信息
.ibd 存索引和数据
myisam引擎:
全文搜刮:MyISAM 对全文搜刮功能支持较好,得当用于需要频繁举行全文搜刮的场景。
表级锁定:MyISAM 使用表级锁定(table-level locking),这意味着在操作数据时会锁定整个表,可能导致并发性能较差。
不支持事务:MyISAM 不支持事务处理,因此无法使用提交和回滚等操作来维护数据的完整性。
不支持外键:MyISAM 不支持外键束缚,需要在应用层面去维护数据的一致性。
myisam的存储文件:.frm 存储表信息
.myd 存储数据行
.myi 存索引
选择存储引擎取决于具体的业务需求。假如需要事务支持、行级锁定和数据完整性,通常会选择InnoDB。
假如对全文搜刮有很高的要求,而且不需要事务支持,可以选择MyISAM。
在实际应用中,也可以根据具体的场景灵活选择不同的存储引擎以获得最佳性能。
2.mysql索引优化
原文链接:
https://blog.csdn.net/u012581020/article/details/130686557
1.硬件配置:包括CPU、内存、磁盘等硬件资源的选择和配置,以满意体系的负载和性能需求。
2.软件配置:包括MySQL的参数设置和调解,如缓存大小、连接数、并发处理数等,以适应不同的负载和访问模式。
3.SQL语句优化:包括查询语句的重构、优化和索引设计,以提高查询效率和相应速度。
4.数据结构优化:包括表结构设计和数据类型选择,以减小数据存储和访问的成本。
5.架构优化:包括MySQL主备、分片等高可用、高可扩展架构的选择和部署,以实现体系的稳固性和可扩展性需求。
作为开辟者,目前做的最多的是关于sql优化和数据结构优化
3.SQL语句优化
SQL语句优化是MySQL性能优化的关键,合理的SQL语句设计和索引优化可以显著提高体系的查询效率和相应速度。常见的SQL语句优化方法包括:
(1)使用索引:索引是MySQL查询的关键,通过合理的索引设计和使用,可以加快查询速度和减少IO操作,从而提高MySQL的性能。
(2)避免全表扫描:全表扫描是效率低下的查询方式,需要只管避免使用。可以通过索引和条件过滤等方式优化查询语句,提高查询效率。
(3)合理使用JOIN:JOIN是SQL语句中常用的操作,但假如JOIN的表过多或不合理使用,会导致性能问题。需要合理选择JOIN的表和方式,避免无意义的JOIN操作。
(4)优化子查询:子查询是复杂查询的一种常见方式,但假如不合理使用,会导致性能问题。需要只管避免嵌套过多的子查询和不必要的查询操作。
5.数据库设计优化
除了对MySQL本身举行优化,对数据库结构和数据表的设计也可以显著影响MySQL的性能。以下是一些常用的数据库设计优化方法:
(1)冗余数据的处理:避免在多个数据表中存储相同的信息,这会增加查询和更新操作的负担。
(2)合理使用数据类型:选择适当的数据类型可以减小数据表大小,从而提高查询和更新操作的效率。
(3)合理设计索引:索引是提高查询效率的关键,需要根据实际情况选择合适的字段作为索引,并避免创建过多或不必要的索引。
(4)分区表设计:对于单个数据表数据量较大的情况,可以接纳分区表的方式将数据表划分成多个子表,以提高查询效率和相应速度。
(5)使用存储过程和触发器:存储过程和触发器可以在MySQL内部执行,减少通讯开销,从而提高MySQL的性能。
3.mysql的explain
可看这个详细表明:
https://blog.csdn.net/SHI940637335/article/details/141277881
在使用sql优化的过程中,我们可以使用explain举行分析。
explain表明筹划窗口,可以很好的看到,sql的执行效率,对复杂的sql有着分析解刨的功能。有利于我们优化和对索引的添加。
通过explain命令可以得到:
– 表的读取顺序
– 数据读取操作的操作类型
– 哪些索引可以使用
– 哪些索引被实际使用
– 表之间的引用
– 每张表有多少行被优化器查询
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
八卦阵
论坛元老
这个人很懒什么都没写!
楼主热帖
不可思议但又无处不在的漏洞,WEB安全 ...
C#实现HTTP访问类HttpHelper
【历史上的今天】6 月 2 日:苹果推出 ...
开源共建 | Dinky 扩展批流统一数据集 ...
企业应用超融合架构的设计实例及超融合 ...
袋鼠云春季生长大会圆满落幕,带来数实 ...
大规模 IoT 边缘容器集群管理的几种架 ...
ClickHouse 查询优化详细介绍
重磅硬核 | 一文聊透对象在 JVM 中的内 ...
【软考】系统集成项目管理工程师(二) ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
移动端开发
图数据库
SQL-Server
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表