Mysql

数据库

  • [1.MyISAM与InnoDB区别(难度:★ 频率:★★★★)](#1.MyISAM与InnoDB区别(难度:★ 频率:★★★★))
  • 2.什么是索引

1.MyISAM与InnoDB区别(难度:★ 频率:★★★★)

MyISAM InnoDB
事务支持 不支持事务 支持事务
事务支持 使用表级锁定,当一个查询需要修改表中的数据时,会锁定整个表,这可能导致并发性能下降。 使用行级锁定,只锁定需要修改的行,允许多个事务同时处理同一表的不同部分,提高并发性能。
外键 不支持 支持
性能 在读密集型工作负载下表现较好,因为它的表级锁定和简单的结构。 在写密集型工作负载和需要事务支持的应用中表现较好,因为它的行级锁定和更复杂的结构。
全文索引 支持 不支持

如何选择存储引擎?

  • MyISAM:以读写插入为主的应用程序,比如博客系统、新闻门户网站。
  • Innodb:更新(删除)操作频率也高,或者要保证数据的完整性;并发量高,支持事务和外键。比如OA自动化办公系统。

2.什么是索引

索引相当于目录, 为了方便查询书中的内容, 通过对内容建立索引形成目录., 其中包含对数据表中所有记录的引用指针

索引是一个文件, 它会占用物理空间

索引的优点:

  • 可以大大加快数据的检索速度

索引的缺点:

  • 时间方面: 创建索引和维护索引都要耗费时间, 对表中的数据进行增加、修改、删除操作, 都会动态维护索引, 会降低增、删、改的执行效率
  • 空间方面: 索引需要占用物理空间
相关推荐
马克Markorg4 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
Coder_Boy_6 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy6 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
数据知道8 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_12498707538 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha8 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_8 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance8 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋9 小时前
【Redis】主从复制
数据库·redis
马猴烧酒.9 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库