扫码关注官方订阅号
拿MySQL举例在MySQL中创建唯一约束就自动获取唯一索引,创建唯一索引也会有唯一约束的功能。那么索引和约束的区别到底在哪呢?仅仅是出发点不同吗?(索引维护表的查找与操作速度,约束维护表的完整性)
希望了解的人不吝赐教
欢迎选择我的课程,让我们一起见证您的进步~~
索引是面向数据库本身的,用于查询优化等操作约束则更多的是业务上的关系,包括唯一性、外键约束等两者之间没啥太大的关系吧
能联系两者的常见的比如主键,主键是个索引,同时满足唯一性的约束
“创建唯一约束就自动获取唯一索引”是因为数据库认为对数据库进行唯一检查时,如果该字段上有索引会很快,所以建唯一约束就默认创建唯一索引,maybe唯一约束的底层代码需要唯一索引。但对于not null/枚举 这样的约束,数据库是不会创建索引的
本身是两个不同的概念,约束是用来限制一些东西。而索引是用来增加查询效率。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
索引是面向数据库本身的,用于查询优化等操作
约束则更多的是业务上的关系,包括唯一性、外键约束等
两者之间没啥太大的关系吧
能联系两者的常见的比如主键,主键是个索引,同时满足唯一性的约束
“创建唯一约束就自动获取唯一索引”是因为数据库认为对数据库进行唯一检查时,如果该字段上有索引会很快,所以建唯一约束就默认创建唯一索引,maybe唯一约束的底层代码需要唯一索引。
但对于not null/枚举 这样的约束,数据库是不会创建索引的
本身是两个不同的概念,约束是用来限制一些东西。而索引是用来增加查询效率。