当前位置: 首页 > wzjs >正文

不用vip也能看的黄台的app安徽seo人员

不用vip也能看的黄台的app,安徽seo人员,个人网站建设方案策划,企业网站建设研究一、存储引擎 1. InnoDB vs MyISAM 特性InnoDBMyISAM事务支持✅ ACID 事务支持❌ 不支持事务锁机制行级锁(默认)、表级锁、间隙锁表级锁(读锁/写锁)外键约束✅ 支持❌ 不支持崩溃恢复✅ Redo/Undo Log 保证数据恢复❌ 需手动修复…

一、存储引擎

1. InnoDB vs MyISAM
特性InnoDBMyISAM
事务支持✅ ACID 事务支持❌ 不支持事务
锁机制行级锁(默认)、表级锁、间隙锁表级锁(读锁/写锁)
外键约束✅ 支持❌ 不支持
崩溃恢复✅ Redo/Undo Log 保证数据恢复❌ 需手动修复表
全文索引✅(5.6+版本)✅ 原生支持
适用场景高并发读写、OLTP(如电商、支付)读多写少、静态数据(如日志、报表)
文件结构.ibd(数据+索引).frm(表结构)、.MYD(数据)、.MYI(索引)

核心区别

  • 事务与锁粒度:InnoDB 通过行级锁和 MVCC 支持高并发,MyISAM 表锁在写入时阻塞其他操作。
  • 数据完整性:InnoDB 支持外键约束和崩溃自动恢复,MyISAM 无此功能。
2. 其他存储引擎
  • MEMORY:数据存储在内存中,读写极快但重启丢失,适用于临时表或缓存。
  • ARCHIVE:压缩存储历史数据,适合归档场景,不支持索引。

二、事务与隔离级别

1. ACID 特性
  • 原子性(Undo Log):事务操作要么全成功,要么全失败。
  • 一致性:事务前后数据满足完整性约束(如主键唯一)。
  • 隔离性(MVCC + 锁):通过隔离级别控制并发事务的可见性。
  • 持久性(Redo Log):事务提交后数据持久化到磁盘。
2. 隔离级别与问题
隔离级别脏读不可重复读幻读实现方式
读未提交无锁
读已提交 (RC)MVCC + 行锁
可重复读 (RR)❌(InnoDB 通过间隙锁解决)MVCC + 间隙锁
串行化表级锁

高频问题

  • 幻读:InnoDB 通过 间隙锁(Gap Lock)和 Next-Key Lock 在 RR 级别下解决。
  • MVCC:通过事务版本链和 ReadView 实现非锁定读,减少锁冲突。

三、锁机制

1. 锁类型
分类维度类型说明
操作粒度表锁锁定整张表(MyISAM 默认),并发度低。
行锁锁定单行数据(InnoDB 默认),并发度高,但可能死锁。
锁模式共享锁(S锁)允许其他事务读,阻止写操作(SELECT ... LOCK IN SHARE MODE)。
排他锁(X锁)阻止其他事务读写(SELECT ... FOR UPDATE)。
锁范围间隙锁锁定索引记录的间隙,防止插入(解决幻读)。
意向锁表级锁,用于快速判断表中是否存在行锁(IS/IX 锁)。
2. 锁优化建议
  • InnoDB
    • 通过索引减少锁范围,避免全表扫描。
    • 控制事务大小,减少锁持有时间。
  • MyISAM
    • 设置 low_priority_updates=1 提升读优先级。
    • 启用并发插入(concurrent_insert=1)减少写阻塞。

四、数据库优化

1. SQL 优化
  • 索引优化
    • 避免 SELECT *,使用覆盖索引减少回表。
    • 联合索引遵循最左前缀原则。
  • 查询优化
    • 避免 LIKE '%前缀',改用全文索引或倒排索引。
    • 拆分复杂查询,减少临时表使用。
2. 架构优化
  • 读写分离:主库处理写操作,从库处理读操作。
  • 分库分表:按业务或数据量分片(如水平分表)。
  • 缓存策略:使用 Redis 缓存热点数据,减少数据库压力。
3. 设计优化
  • 字段类型:优先使用整型、ENUM 替代字符串,减少存储空间。
  • 避免 NULL:NULL 增加查询复杂度,尽量设置默认值。

五、高频面试题

  1. InnoDB 如何解决幻读?

    • RR 隔离级别下,通过 间隙锁 锁定索引范围,阻止其他事务插入新数据。
  2. 什么是 MVCC?

    • 多版本并发控制,通过事务版本链和 ReadView 实现非锁定读,减少锁冲突。
  3. 如何避免死锁?

    • 按固定顺序访问资源,减少事务粒度,设置合理的超时时间。
  4. 索引失效的常见场景?

    • 对索引列使用函数或运算,OR 连接非索引列,隐式类型转换。

六、扩展知识

  • 日志系统
    • Binlog:用于主从复制和数据恢复(逻辑日志)。
    • Redo Log:保证事务持久性(物理日志)。
    • Undo Log:保证事务原子性(逻辑日志)。
  • 高并发设计
    • 限流降级、消息队列异步处理、分布式锁。

总结:MySQL 面试需重点掌握存储引擎、事务隔离、锁机制及优化策略。建议结合实践场景理解理论,并通过 EXPLAIN 分析 SQL 执行计划深化理解。

http://www.dtcms.com/wzjs/195493.html

相关文章:

  • 如何做网站淘宝客网站建设优化哪家公司好
  • 网站开发字体百度做广告多少钱
  • 传奇手游网站大全9377网页制作软件推荐
  • 电子商务网站建设考卷成都短视频代运营
  • 武汉做网站seo黄页网络的推广软件
  • 北京seo排名外包seo长尾关键词
  • 网站商城建设要多少钱seo实战视频
  • 安徽省建设厅安全协会网站软文推广是什么意思
  • 长治网站建设长沙营销网站建设
  • wordpress 图片跳转开鲁网站seo转接
  • 冒用公司名做网站外贸网站推广
  • 中国建设工程信息网官网清欠长沙优化网站厂家
  • 肥乡专业做网站推广app佣金平台正规
  • 郑州做网站建设公司定西seo排名
  • 响应式网站建设费用百度竞价广告代理
  • wordpress 父级子页面跳转百度seo优化技术
  • 我想学做网站三十个知识点带你学党章
  • 做养生网站需要资质吗su搜索引擎优化
  • 国外网站空间哪个好搜索引擎关键词广告
  • 武汉网站建设价格低百度95099如何转人工
  • 郑州网站设计网站百度推广官方投诉电话
  • 网站制作多少钱流量购买网站
  • 贵阳网站制作cncolour最近一周新闻大事
  • 门户网站模板源代码互联网营销成功案例
  • 计算机应用技术网站开发与应用百度收录查询网址
  • 百度地图网页版首页广州seo网站服务公司
  • 整形医院网站源码今日国内新闻最新消息
  • 响应式网站 图片处理网站推广要点
  • 郑州市建委seo信息网
  • 又快又好自助建站系统百度商业平台官网