索引
1.可以提升查询速度,会影响where条件查询和order by 排序
2.索引针对字段,需要添加到字段上
3.在数据量大的情况下效果明显
主键索引
1.一个表可以没有主键,但最多只能有一个主键,不能包含NULL
2.添加主键的时候会自动创建主键索引,主键索引是一种唯一性索引
3.根据主键进行where条件查询,效率高
创建方式
1.创建表的时候直接添加主键索引
create table o_retailers_trade_user_3
(
user_id int (9) primary key,
item_id int (9),
behavior_type int (1),
user_geohash varchar (14),
item_category int (5),
time varchar (13)
);
2.修改表结构 添加主键索引
alter table o_retailers_trade_user_3 add primary key (item_id);
唯一索引
1.索引列的所有值都只能出现一次,必须唯一
2.唯一索引可以保证数据记录的唯一性
创建方式
1.创建表的时候直接添加唯一索引
create table o_retailers_trade_user_2
(
user_id int (9),
item_id int (9),
behavior_type int (1),
user_geohash varchar (14),
item_category int (5),
time varchar (13),
unique user_id_index(user_id)
);
2.在已有的表上创建索引
create unique index item_id_index on o_retailers_trade_user_2(item_id);
3.修改表结构添加索引
alter table o_retailers_trade_user_2 add unique item_id_index(item_id);
普通索引
1.普通索引的唯一目的是加快对数据的访问速度
创建方式
1.在已有的表上创建索引
create index item_id_index on o_retailers_trade_user(item_id);
2.修改表结构添加索引
alter table o_retailers_trade_user add index item_id_index(item_id);
删除索引
alter table o_retailers_trade_user drop index item_id_index;
视图
1.一种虚拟表
2.视图建立在已有表的基础上,视图赖以建立的表称为基表
3.向视图提供数据内容的语句为select语句,可以将视图理解为存储起来的select语句
4.视图是向用户提供基表数据的另一种表现形式
5.视图用作控制权限
6.简化复杂的多表查询
视图与表的区别
1.视图是建立在表基础上的,表存储数据库中的数据,而视图只是做一个数据的展示
2.通过视图不能改变表中数据
3.删除视图表不受影响,删除表,视图不再起作用
创建视图
create view trade_user_view as
select * from o_retailers_trade_user where `time` >='2019-12-18 00';