一 备份数据

备份库:

 mysqldump:拷贝数据

  --database:数据库

 基本语法是:mysqldump -h服务器名 -u用户名 -p密码 --database 库名 > 备份路径.sql :后缀名

  --all-database:备份所有的库

  --databases:备份多个库

 备份的数据名里面最好加上时间和日期。

  锁住表的操作主要是为了为了一个一个的操作记录,不然记录就会乱。

恢复库:

 mysqlload -u用户名 -p密码 <文件路径

备份表:

 mysqldump -u用户名 -p密码 库名.表名 >备份到的路径

 mysqldump -u用户名 -p密码 库名.表名 表名 表名。。。>备份到的路径          mysqldump -u用户名 -p密码 库名.表名 库名.表名。。。>备份到的路径   :多个表同时备份

恢复表:

 mysqlload -u用户名 -p密码 恢复到哪个库 >数据的路径

1 语法:
mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql 2
备份库
mysqldump -uroot -p --database day45 > C:\\day45_bak_2017_10_30.sql 恢复库
mysql -uroot -p < C:\\day45_bak_2017_10_30.sql 3
备份多个库
mysqldump -uroot -p --databases day43 day44 day45 > C:\\day43_day45_day44_bak_2017_10_30.sql 恢复库
mysql -uroot -p < C:\\day45_bak_2017_10_30.sql 4
备份多个表
mysqldump -uroot -p day45 employee t1 t2 > C:\\day45_t1_t2_employee_bak_2017_10_30.sql 恢复表
mysql -uroot -p day45 < C:\\day45_t1_t2_employee_bak_2017_10_30.sql 5 备份所有的库
mysqldump -uroot -p --all-databases > C:\\all.sql 恢复库
mysql -uroot -p < C:\\all.sql

二 表的导入导出

 into:放到哪个文件

 outfile:哪个文件

 fields terminated by:字段的分割符

 lines terminated by:行的分割符

 optionally  enclosed by '符号':定义用什么符号括起来

 lines terminated by '\n' :定义换行符

 varidbles:系统参数,用来初始化或者设定数据库对系统资源的占用。详细信息:https://zhidao.baidu.com/question/985034511048325699.html

 global  secure_file_priv  '路径':scure-file-priv参数是来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传入哪个指定目录的

    详细信息:https://segmentfault.com/a/1190000009333563

 opltonally enclosed by :自定义分割符

导出表
mysql> SELECT * FROM school.student1
INTO OUTFILE 'student1.txt'
FIELDS TERMINATED BY ',' //定义字段分隔符
OPTIONALLY ENCLOSED BY '”' //定义字符串使用什么符号括起来
LINES TERMINATED BY '\n' ; //定义换行符 导入表
mysql> LOAD DATA INFILE '/tmp/student1.txt'
INTO TABLE school.student1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '”'
LINES TERMINATED BY '\n';

三 mysql的索引原理

 使用索引优化了查看的的时间,索引就是使用目录定位记录的位置。操作步骤都是差不多,省略掉了无用的查约束,提高了查询的速度。

 primary和unique都属于索引,在mysql中索引都叫做键,而有的键又约束的功能,没有这些约束功能的都是普通的索引。

 索引的原理:不断的缩小查询的范围,筛选出最终的结果。同时将随机的事件变成有序的事件。而简单的分段没有办法优化查询速度。

 索引的方式分为两种,分别是哈希(hash)和btree

 机械硬盘的知识:机械硬盘就是有一个或者多个盘片和其他的机械组成。如下:

 找到一个磁道的时间就叫做平均寻到时间,范围大约在5ms以下。

 转一圈然后在除以2的结果就是平均延迟时间,大月约在:1/120/2 = 4.17ms左右。

  找到数据的时间是在平均寻道时间加上平均延迟时间稍微的多一点。

 什么叫做磁盘块:一次向内存读的数据量大小,也叫做block块。在linux系统中默认是4k。磁盘块不是一个物理单位,而是一个逻辑单位。

  物理单位为512个字节。是寻到的大小的一半。

  磁盘块包含的有数据项,除了数据项还有指针。

  在一个磁盘块中,数据项是双双对应的左边的一个数对应着右边的一个数。

 数据项的大小与数据项个数成反比的,数据项的越小,存放的个数就会越多。

 索引存放的数据在硬盘中,而他们查找的次数就受限用于存放的层级。层级月到查找的次数就会越多。

  正确的索引存放方法是把数据量小的并且还要唯一的字段选做数据项。

测试索引:

 创建表:

  

#1. 准备表
create table s1(
id int,
name varchar(20),
gender char(6),
email varchar(50)
); #2. 创建存储过程,实现批量插入记录
delimiter $$ #声明存储过程的结束符号为$$
create procedure auto_insert1()
BEGIN
declare i int default 1;
while(i<1232636)do
insert into s1 values(i,'egon','male',concat('egon',i,'@oldboy'));
set i=i+1;
end while;
END$$ #$$结束
delimiter ; #重新声明分号为结束符号 #3. 查看存储过程
show create procedure auto_insert1\G #4. 调用存储过程
call auto_insert1();

在表中为以存在的大量数据下,为某个字段建立索引,建立速度会很慢

create index a on 表名(字段名);

mysql> create index a on s1(id);
Query OK, 0 rows affected (23.47 sec)
Records: 0 Duplicates: 0 Warnings: 0

在索引建立好了以后,以该字段作为查询条件时,时间会很快

mysql> select * from s1 where id=1000000;
+---------+------+--------+--------------------+
| id | name | gender | email |
+---------+------+--------+--------------------+
| 1000000 | egon | male | egon1000000@oldboy |
+---------+------+--------+--------------------+
1 row in set (0.14 sec)

 1 mysql先去表里面的b+数的搜索原理很快就会找到该索引字段的记录存不存在或着存放在哪个位置。以数据量小的作为索引的字段明显速度提升了很多。

 2 如果使用数据量大的字段作为索引的字段,速度依然还是很慢。

mysql之索引查询1的更多相关文章

  1. MySQL多索引查询选择

    MySQL多索引查询选择 MySQL选择索引-引入 我们知道我们一个表里面可以有多个索引的,那么我们查询数据的时候不指定索引,MySQL就会帮我们自动选择.既然是MySQL程序帮我们自动选择的那么会不 ...

  2. mysql之索引查询2

    一 索引的创建 索引减慢了 写的操作,优化了读取的时间 index:普通索引,加速了查找的时间. fulltext:全文索引,可以选用占用空间非常大的文本信息的字段作为索引的字段.使用fulltext ...

  3. MySQL数据库索引:索引介绍和使用原则

    本篇目录: 一.数据页与索引页 二.聚簇索引与非聚簇索引 三.唯一索引 四.索引的创建 五.索引的使用规则 六.数据库索引失效情况 本篇正文: 一.数据页与索引页 数据库的表存储分为数据页存储和索引页 ...

  4. mysql使用索引优化查询效率

    索引的概念 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度.在没 ...

  5. MySQL多表查询之外键、表连接、子查询、索引

    MySQL多表查询之外键.表连接.子查询.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为 ...

  6. Mysql 版本号、存储引擎、索引查询

    [1]Mysql 版本号.存储引擎.索引查询 # 查看数据库版本号 SELECT VERSION(); # 查看数据库支持的引擎(默认即Support == DEFAULT行) SHOW ENGINE ...

  7. 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询

    MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...

  8. MySQL索引查询原理

    什么是索引? “索引”是为了能够更快地查询数据.比如一本书的目录,就是这本书的内容的索引,读者可以通过在目录中快速查找自己想要的内容,然后根据页码去找到具体的章节. 数据库也是一样,如果查询语句使用到 ...

  9. mysql in条件查询到底会不会用到索引

    MySQL 的 in 查询在 5.5 以上的版本中存储引擎都是 innodb 的,正常情况下会走索引的!至于 MyISAM 没试过! 如果是 5.5 之前的版本确实不会走索引的,在 5.5 之后的版本 ...

随机推荐

  1. Mysql 5.7 弱密码限制,及创建用户无密码用户

    一.介绍 1.haproxy Mysql 需要一个无密码登录的mysql用户. 2.Mysql 5.7 版本默认安装了 validate_password 插件,作用:要求密码的复杂度. 3.创建用户 ...

  2. 游戏行业的女性拥有强大的新盟友:Facebook

    据外媒 TheNextWeb 报道,Facebook 本周宣布其新的游戏行业女性倡议,致力于鼓励更多的女性加入游戏行业.这家社交媒体公司专注于提供榜样和成功故事,而这实际上是一种令人愉快的方式.虽然游 ...

  3. 100-days: The one day

    Title:In tech race with China, US universities may lose a vital edge in tech race with  与...的科技比赛中 e ...

  4. 【go】http实验

    实验1:上手篇 package main import ( "net/http" //"fmt" "os" ) func proxyFunc ...

  5. TZOJ 3663 最长路径(floyd)

    描述 网络是由很多交换机与网线组成的,网络中的信息可能会在这些网络中不断转发,给定任意两个交换机,我们需要从中找到最快的路径进行转发,我们定义转发过程中所经过的网线条数为两个交换机之间的路径长度.如果 ...

  6. f5创建VS

    1.1) 2) 3) 4) 5) 2.Availability 1)Pool 中的monitor保障服务高可用 2)Pool 失败机制一 Fallback Host 最后的host( 使用于HTTP ...

  7. iOS - iphoneX系列 - 全局配置的基本信息

      /// 获得当前窗口 var JY_WINDOW: UIWindow? { get{ if let app = UIApplication.shared.delegate as? AppDeleg ...

  8. day 23 网络编程

    C/S架构 Client与Server B/S架构 Browser与Server windows上查看端口占用情况 netstat -a OSI七层模型: 其他略...

  9. Logback报错 no applicable action for [Encoding], current ElementPath is [[configuration][appender][Encoding]]

    老版本是0.9,移到springboot项目,解决办法,删除xml配置文件节点<Encoding>UTF-8</Encoding>

  10. 梦殇 chapter two

    梦殇 chapter two 早晨,推开门.一缕阳光照进来. 今天的天气并不像往日,少了些往日的寒冷与萧瑟.阳光照耀着大地,暖暖的.已经好久见不到太阳了.最近雾气渐入这座城市,使它全部笼罩在阴阴的雾气 ...