MySQL的约束和索引
来源:互联网 发布:java学生管理系统源码 编辑:程序博客网 时间:2024/05/16 06:31
一、约束:
1.非空约束 not null;
2.唯一约束 unique(); uk
unique约束的字段,要求必须是唯一的,但null除外。
3.主键约束 primary key (); pk
主键约束=not null+unique
4.外键约束:foreign key() references (参考),fk
constraint fk_dept_id foreign key (dept_id)
references dept(dept_id) ;
示例:
//constraint uk_name 可以省略不写。
//uk_name 唯一约束名;
//pk_name 主键约束名
create table member(
id int(10),
phone int(15) unsigned zerofill,
name varchar(30) not null,
constraint uk_name unique(name),
constraint pk_id primary key (id),
constraint fk_dept_id foreign key (dept_id,字段2)
references dept(主表1)(dept_id)
);
二、数据库索引
作用:提高查询速度,确保数据的唯一性
可以加速表和表之间的连接,实现表与表之间的参照完整性
使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间
全文检索字段进行搜索优化;
1.索引的种类
1.1.主键索引(Primary key)
1.2.唯一索引(unique)
1.3.常规索引(index)
作用:快速定位特定数据
//添加一个索引 index_name。
alter table emp add index index_name(name);
create index index_name on emp (name);
//删除表emp中的index_emp索引。
drop index_name on emp;
alter table emp drop primary key;
1.4.全文索引(full text)
2.索引的准则:
1.索引不是越多越好;
2.不要对经常变动的数据加索引;
3.小数据量的表建议不要加索引;
4.索引一般应加在查找条件的字段;
3.什么时候添加索引?
在 where、order by 子句中经常使用的字段;
字段的值是多个(例如性别字段则不适合);
字段内容不是经常变化的,经常变化的字段,添加索引反而降低性能;
不宜过多添加索引,每添加一条索引都会占用磁盘空间;
个人了解:
存储器、触发器、定时器、视图。
0 0
- MySQL的约束和索引
- MySQL、SQLServer、Oracle中约束和索引的关系
- MySQL导出、删除索引Index和约束的方法
- ORACLE的索引和约束
- oracle的约束和索引
- Oracle的约束和索引
- Oracle的约束和索引
- oracle的约束和索引
- 索引和约束的创建
- MySQL 约束与索引
- mysql外链、索引、约束
- ORACLE的索引和约束详解
- ORACLE的索引和约束详解
- ORACLE的索引和约束详解
- ORACLE的索引和约束详解
- ORACLE的索引和约束详解
- ORACLE的索引和约束详解
- ORACLE的索引和约束详解(转)
- 提高篇项目1.2——函数等腰三角字母图
- Apache安装(Linux)
- H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
- c语言 求三角形面积升级版
- MySQL中group_concat函数,连接字段,多个值显示为一行
- MySQL的约束和索引
- 【BZOJ 1009】 [HNOI2008]GT考试
- valgrind 的使用简介
- Lock wait timeout exceeded; try restarting transaction
- C语言 求解二次函数
- cocos2dx-lua中带有‘\0’数据的字符串传递
- 加载顺序 ready onload onreadystatechange
- oj1094: A+B for Input-Output Practice (VII)
- C语言 输出字符01