1、索引
索引这个词,相信你不陌生,像python列表中的索引值,a[2]代表列表a的第3个位置的值
在数据库中呢,索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容。
当表中有大量记录时,若要对表进行查询,没有索引的情况是将所有记录一一取出,和查询条件进行对比,然后返回满足条件的记录,这样做会花费大量时间。而在表中已建立索引,通过索引值就可以快速找到表中的数据,可以大幅度提升查询速度。
对一张表中的某个列建立索引,有以下两种语句格式:
ALTER TABLE 表名字 ADD INDEX 索引名 (列名);
CREATE INDEX 索引名 ON 表名字 (列名);
建立索引:
用第一种方式,在数据表de id列上建立索引idx_id
用第二种方式。在数据表的name列上创建索引idx_name
show index from 表名字; #查看建立的索引
注意:不是所有的字段都适合创建索引,比如性别,这个字段会出现大量的重复记录,不仅不会提升查询速度,还会导致数据冗余
2、视图
视图是从一个或多个表中导出来的表,是一种虚拟存在的表,虚拟存在的表:
- 数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中;
- 使用视图查询数据时,数据库系统会从原来的表中取出对应的数据;
- 视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变;
- 在使用视图的时候,可以把它当作一张表。
创建视图的语句格式为:
CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;
现在来试着创建一个简单的视图,表名为v_tmp,包含v_name,v_age,v_phone三个列:
3、文件导入
3.1、纯数据文件导入
导入一个纯数据文件,该文件中将包含与数据表字段相对应的多条数据,这种方式导入一个纯数据文件,该文件中将包含与数据表字段相对应的多条数据
因导入导出大量数据都属于敏感操作,根据 mysql 的安全策略,导入导出的文件都必须在指定的路径下进行,可以使用 show variables like '%secure%' 查看路径变量
3.2、SQL语句导入
SQL 文件导入相当于执行该文件中包含的 SQL 语句,可以实现多种操作,包括删除,更新,新增,甚至对数据库的重建