MySQL索引失效
本文介绍了MySQL索引失效的情况,包括违反最左前缀原则、对索引列做了运算或函数、以%开头的LIKE查询、OR条件中有一个列没有索引、IN的取值范围较大以及隐式转换等,详细解释了这些情况导致索引失效的原因,并通过示例代码帮助读者全面理解MySQL索引失效在数据库设计中的作用和应用场景。
MySQL联合索引与最左前缀原则
本文介绍了MySQL联合索引的概念、最左前缀原则以及它们在 MySQL 中的使用方式和重要性,详细解释了联合索引的结构和排序规则,以及最左前缀原则对查询性能的影响,并通过示例代码帮助读者全面理解MySQL联合索引与最左前缀原则在数据库设计中的作用和应用场景。
MyISAM和InnoDB区别
本文介绍了MyISAM和InnoDB的区别,详细解释了两者在锁机制、事务支持、外键支持、崩溃恢复、MVCC支持、索引实现和性能等方面的差异,并通过对比表格帮助读者全面理解MyISAM和InnoDB在 MySQL 中的作用和适用场景。
MySQL字段类型
本文介绍了MySQL字段类型的概念、分类以及它们在 MySQL 中的使用方式和重要性,详细解释了数值类型、字符串类型和日期时间类型的区别和适用场景,并通过示例代码帮助读者全面理解MySQL字段类型在数据库设计中的作用和应用场景。
MySQL优点
本文介绍了MySQL的优点,包括生态、功能和运维方面的优势,详细解释了MySQL作为关系型数据库在开源免费、社区支持、事务支持、性能和可扩展性等方面的特点,并通过示例代码帮助读者全面理解MySQL在数据库设计中的作用和应用场景。
数据库设计
本文介绍了数据库设计的各个阶段和设计原则,详细解释了从需求分析到数据库实施的全过程,以及数据独立性、完整性、安全性、可扩展性和标准化等设计原则,帮助读者全面理解如何进行高质量的数据库设计。
DROP、DELETE与TRUNCATE
本文介绍了DROP、DELETE和TRUNCATE三个SQL命令的区别,详细解释了它们的作用、使用场景、对表结构的影响、触发器的触发情况以及事务和回滚的支持情况,并通过对比表格帮助读者全面理解这三个命令在数据库操作中的作用和关系。
为什么不推荐使用外键与级联?
本文介绍了为什么在高并发、分布式、读写分离架构下不推荐使用数据库外键和级联操作,详细解释了外键和级联带来的性能问题、扩展性问题以及业务逻辑耦合问题,帮助读者全面理解在现代系统设计中如何选择合适的数据完整性约束方式。
数据库范式
本文介绍了数据库范式,本质上是一套“数据整理的物理学定律”,它不关心业务多酷炫,只关心如何让数据结构更干净、更一致、更少冗余。文章详细解释了第一范式、第二范式和第三范式的定义、特点以及解决的问题,帮助读者全面理解数据库设计的核心原则。
关系型数据库核心概念
本文介绍了关系型数据库中的几个核心概念,包括元组、码、候选码、主码、外码以及主属性和非主属性,帮助读者全面理解关系型数据库的基本组成和数据组织方式。