10-02 06—10

6. MySQL常见的函数?

聚合函数:
   AVG(col)返回指定列的平均值
   COUNT(col)返回指定列中非NULL值的个数
   MIN(col)返回指定列的最小值
   MAX(col)返回指定列的最大值
   SUM(col)返回指定列的所有值之和
   GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果
数学函数:
   ABS(x) 返回x的绝对值
   BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)

7. 如何开启慢日志查询?

1 执行 SHOW VARIABLES LIKE “%slow%”,获知 mysql 是否开启慢查询 slow_query_log 慢查询开启状态 OFF 未开启 ON 为开启 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
2 修改配置文件( 放在[mysqld]下),重启 long_query_time 查询超过多少秒才记录
3 测试是否成功
4 慢查询日志文件的信息格式

8. 数据库导入导出命令(结构+数据)?

1.导出整个数据库  
 mysqldump -u用户名 -p密码 数据库名 > 导出的文件名   
例如:C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql  
2.导出一个表,包括表结构和数据  
 mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名   
例如:C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql  
3.导出一个数据库结构  
 例如:C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
4.导出一个表,只有表结构  
 mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名   
例如:C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql   
5.导入数据库   
常用source 命令   
进入mysql数据库控制台,   
如mysql -u root -p   mysql>use 数据库   
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)   
mysql>source d:wcnc_db.sql

9. 数据库怎么优化查询效率?

1、储存引擎选择:如果数据表需要事务处理,应该考虑使用InnoDB,因为它完全符合ACID特性。
如果不需要事务处理,使用默认存储引擎MyISAM是比较明智的
2、分表分库,主从。
3、对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引
4、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
5、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描
6、应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描
7、Update 语句,如果只更改1、2个字段,不要Update全部字段,否则频繁调用会引起明显的性能消耗,同时带来大量日志
8、对于多张大数据量(这里几百条就算大了)的表JOIN,要先分页再JOIN,否则逻辑读会很高,性能很差。

10. Mysql集群的优缺点?

优点:

  • 99.999%的高可用性
  • 快速的自动失效切换
  • 灵活的分布式体系结构,没有单点故障
  • 高吞吐量和低延迟
  • 可扩展性强,支持在线扩容
    缺点:
  • 存在很多限制,比如:不支持外键
  • 部署、管理、配置很复杂
  • 占用磁盘空间大、内存大
  • 备份和恢复不方便
  • 重启的时候,数据节点将数据load到内存需要很长的时间
posted @ 2019-10-22 22:06  小猿取经-林海峰老师  阅读(1073)  评论(0编辑  收藏  举报