您的位置:首页 > 数据库 > MySQL

部分mysql学习

2016-05-02 19:54 330 查看
系统:windows 7 X86

mysql版本:mysql5.7

图形管理工具:navicat for mysql

mysql 分区

分区详解:http://blog.csdn.net/feihong247/article/details/7885199

/* 学习过程 */
ALTER TABLE news_main PARTITION BY list(id)
(
PARTITION one VALUES IN (1,2),
PARTITION two VALUES IN (3,4),
PARTITION three VALUES IN (5,6)
);/*list*/

ALTER TABLE news_main PARTITION BY HASH(YEAR(news_time))
PARTITIONS 2;/*hash*/

SELECT * FROM news_main ORDER BY YEAR(news_time) DESC;/*year*/

ALTER TABLE news_main PARTITION BY list(id)
subpartition BY HASH(year(news_time))
subpartitions 2
(
PARTITION p1 VALUES IN (1,2,3),
PARTITION p2 VALUES IN (4,5,6)
);/*list & hash*/

select * from news_main
where news_time > '2015-12-25' and news_time < '2016-03-17';

/*补充另一条删除分区代码,此代码会丢失数据,而将DROP换成REMOVE,则不会丢数据*/
ALTER TABLE news_main DROP PARTITION;


视图view

日志文件

mysql启用日志和查询日志代码: http://blog.csdn.net/a351945755/article/details/28239819

以下摘自 http://pangge.blog.51cto.com/6013757/1319304

错误日志

在mysql数据库中,错误日志功能是默认开启的。默认情况下,错误日志存储在mysql数据库的数据文件中。错误日志文件通常的名称hostname.err。其中,hostname表示服务器主机名。

默认情况下错误日志大概记录以下几个方面的信息:服务器启动和关闭过程中的信息(未必是错误信息,如mysql如何启动InnoDB的表空间文件的、如何初始化自己的存储引擎的等等)、服务器运行过程中的错误信息、事件调度器运行一个事件时产生的信息、在从服务器上启动服务器进程时产生的信息。

查询日志

默认情况下查询日志是关闭的。由于查询日志会记录用户的所有操作,其中还包含增删查改等信息,在并发操作大的环境下会产生大量的信息从而导致不必要的磁盘IO,会影响mysql的性能的。如若不是为了调试数据库的目的建议不要开启查询日志。

慢查询日志

慢查询日志是用来记录执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。一般建议开启,它对服务器性能的影响微乎其微,但是可以记录mysql服务器上执行了很长时间的查询语句。可以帮助我们定位性能问题的。

事物日志

二进制日志

二进制日志也叫作变更日志,主要用于记录修改数据或有可能引起数据改变的mysql语句,并且记录了语句发生时间、执行时长、操作的数据等等。所以说通过二进制日志可以查询mysql数据库中进行了哪些变化。一般大小体积上限为1G。

还可用作以下两个方面:

- 灾难恢复(数据恢复)

- msql主从配置

数据备份和恢复

数据导入和导出

- dos命令

- 图形界面(navicat)

数据库管理员帐号操作和授权

改密码(当前帐号、另一个帐号)

授权操作

- 权限管理 :http://www.cnblogs.com/hcbin/archive/2010/04/23/1718379.html

- 远程登录

存储过程

-传参之IN,OUT,INOUT

转自 http://www.2cto.com/database/201410/346921.html

存储过程传参:存储过程的括号里,可以声明参数。 语法是 create procedure p([in/out/inout] 参数名 参数类型 ..)
in :给参数传入值,定义的参数就得到了值
out:模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程(在存储过程内部,该参数初始值为 null,无论调用者是否给存储过程参数设置值)
inout:调用者还可以通过 inout 参数传递值给存储过程,也可以从存储过程内部传值给调用者。


实例一:存储过程传参 in

实例二:存储过程传参 out





实例三:存储过程传参 inout

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql