热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL:字段约束与索引

设置外键约束后,若要删除父表内容,必须先删除子表相关的内容,这种约束能保证逻辑关系。但另一方面,多表的相互外键关联,可能形成外键闭环,导致无法删除任何一张表的记录。故可以不设置外键约束,仅依靠应用程序

设置外键约束后,若要删除父表内容,必须先删除子表相关的内容,这种约束能保证逻辑关系。



但另一方面,多表的相互外键关联,可能形成外键闭环,导致无法删除任何一张表的记录。故可以不设置外键约束,仅依靠应用程序的逻辑来保证。

什么是数据库索引?



简单来说,索引是关系数据库中对某一列或多个列的值进行预排序的数据结构,一般数据库需要维护索引对应的二叉树。

为什么需要索引?

数据库如果有上万甚至上亿条记录,想要提高查询速度,就需要使用索引。

如何创建索引?

①、创建表的时候添加索引

CREATE TABLE table_name(
...,
INDEX [索引名] (字段名),
...
);

索引名是可选项,如果不定义索引名,则使用字段名作为索引名。

②、在已创建的表中添加索引

# 语法一:
CREATE INDEX 索引名 ON 表名(字段);
# 语法二:
ALTER TABLE 表名 ADD INDEX [索引名](字段名)

# 查询索引
SHOW INDEX FROM 表名;
# 删除索引
DROP INDEX 索引名 ON 表名;

创建索引要遵循什么原则?

哪些表需要加索引?:数据量大,且经常被查询的数据表

哪些字段要加索引?:经常作为检索条件的字段

哪些字段不要加索引?:大字段类型(如长度超过50的字符串)


   



推荐阅读
author-avatar
qqjayzhe
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有