加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL常见面试问题总结(三)

发布时间:2016-11-15 15:11:09 所属栏目:MySql教程 来源:站长网
导读:副标题#e# 061 如何删除表? 答案:运行命令 drop table table_name; 062 创建索引 对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查

VI Mysql语句级优化

1.性能查的读语句,在innodb中统计行数,建议另外弄一张统计表,采用myisam,定期做统计.一般的对统计的数据不会要求太精准的情况下适用。

2.尽量不要在数据库中做运算。

3.避免负向查询和%前缀模糊查询。

4.不在索引列做运算或者使用函数。

5.不要在生产环境程序中使用select * from 的形式查询数据。只查询需要使用的列。

6.查询尽可能使用limit减少返回的行数,减少数据传输时间和带宽浪费。

7.where子句尽可能对查询列使用函数,因为对查询列使用函数用不到索引。

8.避免隐式类型转换,例如字符型一定要用’’,数字型一定不要使用’’。

9.所有的SQL关键词用大写,养成良好的习惯,避免SQL语句重复编译造成系统资源的浪费。

10.联表查询的时候,记得把小结果集放在前面,遵循小结果集驱动大结果集的原则。

11.开启慢查询,定期用explain优化慢查询中的SQL语句。

087 mysql是怎么备份的(重点)

一、备份的目的

做灾难恢复:对损坏的数据进行恢复和还原

需求改变:因需求改变而需要把数据还原到改变以前

测试:测试新功能是否可用

二、备份需要考虑的问题

可以容忍丢失多长时间的数据;

恢复数据要在多长时间内完;

恢复的时候是否需要持续提供服务;

恢复的对象,是整个库,多个表,还是单个库,单个表。

三、备份的类型

1、根据是否需要数据库离线

冷备(cold backup):需要关mysql服务,读写请求均不允许状态下进行;

温备(warm backup): 服务在线,但仅支持读请求,不允许写请求;

热备(hot backup):备份的同时,业务不受影响。

注:

1、这种类型的备份,取决于业务的需求,而不是备份工具

2、MyISAM不支持热备,InnoDB支持热备,但是需要专门的工具

2、根据要备份的数据集合的范围

完全备份:full backup,备份全部字符集。

增量备份: incremental backup 上次完全备份或增量备份以来改变了的数据,不能单独使用,要借助完全备份,备份的频率取决于数据的更新频率。

差异备份:differential backup 上次完全备份以来改变了的数据。

建议的恢复策略:

完全+增量+二进制日志

完全+差异+二进制日志

3、根据备份数据或文件

物理备份:直接备份数据文件

优点:备份和恢复操作都比较简单,能够跨mysql的版本,恢复速度快,属于文件系统级别的

建议:不要假设备份一定可用,要测试mysql>check tables;检测表是否可用

逻辑备份: 备份表中的数据和代码

优点:恢复简单、备份的结果为ASCII文件,可以编辑与存储引擎无关可以通过网络备份和恢复

缺点:备份或恢复都需要mysql服务器进程参与备份结果占据更多的空间,浮点数可能会丢失精度 还原之后,缩影需要重建

四:备份的对象

1、 数据;

2、配置文件;

3、代码:存储过程、存储函数、触发器

4、os相关的配置文件

5、复制相关的配置

6、二进制日志

五、备份和恢复的实现

1、利用select into outfile实现数据的备份与还原。

2、利用mysqldump工具对数据进行备份和还原

3、利用lvm快照实现几乎热备的数据备份与恢复

4、基于Xtrabackup做备份恢复。

优势:

1、快速可靠的进行完全备份

2、在备份的过程中不会影响到事务

3、支持数据流、网络传输、压缩,所以它可以有效的节约磁盘资源和网络带宽。

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读