查阅event是或不是开启

厂商数据基本布署将海量数据做一遍迁移,同一时候扩展某时间字段(原本是datatime类型,未来扩张一个date类型),单表数据量达到6亿多条记下,数据是基于时间做的partition由于相比忙,一直尚未下结论,所以不粗大节的地点都记不知底了,此处只是简短总计下马上的情事,备忘

  1. 新增加客户

复制代码 代码如下:show variables like
‘%sche%’;

乱打乱撞

复制代码 代码如下:mysql>insert into
mysql.user values(“localhost”,”lionbule”,password;mysql>flush
privileges;

将事件陈设开启

初期收受任务,未有通晓的出手点,直接便是select * from db limit
10000,动态修正翻页数量,通过垄断台看耗时景观,慢

  1. 更改客户密码

复制代码 代码如下:set global
event_scheduler =1;

复制代码 代码如下:SELECT
I君越_SID,IR_HKEY,IR_GROUPNAME,IR_SITENAME,IR_CHANNEL,IR_MID,IR_URLNAME,IR_STATUS_CONTENT,IR_CREATED_AT,date_format(IR_CREATED_AT,’%Y.%m.%d’),IR_LASTTIME,IR_VIA,IR_THUMBNAIL_PIC,IR_RTTCOUNT,IR_COMMTCOUNT,IR_UID,IR_SCREEN_NAME,IR_RETWEETED_UID,IR_RETWEETED_SCREEN_NAME,IR_RETWEETED_MID,IR_RETWEETED_URL,IR_STATUS_BODY
FROM TB_SINA_STATUS WHERE IR_SID>40000 AND IR_SID<50001 INTO
OUTFILE ‘/home/mysql/data/data_outfile.txt’; LOAD DATA INFILE
‘/home/mysql/data/data_outfile.txt’ INTO TABLE NEW_TB_SINA_STATUS;

复制代码 代码如下:mysql>update
mysql.user set password=password where User=”lionbule” and
Host=”localhost”;mysql>flush privileges;

制造存款和储蓄进程test

是还是不是足以依靠partition读数据呢

  1. 剔除客商

复制代码 代码如下:CREATE PROCEDURE test
(卡塔尔国 BEGIN update examinfo SET endtime = now(卡塔尔(英语:State of Qatar) WHERE id = 14; END;

澳门微尼斯人手机版,既然如此数据库是按partition做分区,是还是不是能够按partition读数据呢,倘若得以改用如何的语法读吧?时间上万黄金年代按月读数据,mysql会自行的基于partition读,具体能够用命令:explain
partition就能够看出全部依照哪个partition
读大数据会十分耗费时间,对于数据开展到什么样动静,大家或然特别想打听,能够用命令:show
status查看,笔者回忆中首要是sending data,writting to net之类的。
innodb引擎的天性较myIsam引擎到底如何?
导库实验中程导弹出并导入一个月的多寡,在myisam引擎下需求不到4h,可是在innodb引擎下,却供给32钟头,修改索引之类的,也供给28h,品质有8倍之差。

复制代码 代码如下:mysql>DELETE FROM
user WHERE User=”lionbule” and Host=”localhost”;mysql>flush
privileges;

创建event e_test

在网络找到了高人关于innodb与myisam区别,说需求改革innodb_buffer_pool_size、innodb_flush_log_at_trx_commit

  1. 权力分配

复制代码 代码如下:create event if not
exists e_test on schedule every 30 second on completion preserve do
call test();

可保险未有太大差别,尝试了并没有精晓纠正,在本机倒是能够,为啥吗???那一个折腾了自身好短期innodb_flush_log_at_trx_commit

4.1. grant用法 grant 权限 on 数据库.* to 顾客名@’登陆主机’ identified
by ‘密码’

每间距30秒将推行存款和储蓄进程test,将近期时刻更新到examinfo表中id=14的记录的endtime字段中去.

是或不是为Innodb比MyISAM慢1000倍而头大?看来也许你忘了改换那个参数了。暗中认可值是
1,那意味每一遍提交的更新专业都会刷新到磁盘中,而这一定消功耗源,特别是不曾电瓶备用缓存时。相当多应用程序,特别是从
MyISAM调换过来的那么些,把它的值设置为 2
就可以了,也正是不把日记刷新到磁盘上,而只刷新到操作系统的缓存上。日志如故会每秒刷新到磁盘中去,因而普通不会遗弃每秒1-2次立异的消耗。假如设置
为 0 就快相当多了,不过也针锋相投不安全了 —
MySQL服务器崩溃时就能够甩掉一些作业。设置为 2
只会舍弃刷新到操作系统缓存的那部分业务。

复制代码 代码如下:权限: 常用总括,
ALL/ALTELAND/CREATE/DROP/SELECT/UPDATE/DELETE数据库: *.*
表示全部库的有所表 test.* 表示test库的装有表 test.test_table
表示test库的test_table表 顾客名: mysql账户名登入主机: 允许登录mysql
server的顾客端ip ‘%’表示全部ip ‘localhost’ 表示本机 ‘192.168.10.2’
特定IP密码: 账户对应的登录密码

关闭事件职务

innodb_buffer_pool_size

4.2 例子

复制代码 代码如下:alter event e_test ON
COMPLETION PRESERVE DISABLE;

Innodb在暗中同意的 innodb_buffer_pool_size
设置下跟蜗牛似的。由于Innodb把数量和目录都缓存起来,没有必要留下操作系统太多的内部存款和储蓄器,因而只要只须要用Innodb的话则能够安装它高达
70-十分七 的可用内部存款和储蓄器。

复制代码 代码如下:mysql>grant all on
test.* to lionbule@’%’ identified by ‘hello1234’;mysql>flush
privileges;

开户事件任务

末尾千难万难的、跋山跋涉的,找到了其余五个参数

新扩大密码为‘hello234’的顾客lionbule对test库具备有着操作权限,并不节制lionbule顾客的登入IP。

复制代码 代码如下:alter event e_test ON
COMPLETION PRESERVE ENABLE;

innodb_log_file_size

4.3 注意事项

以上测量试验均成功,测量检验意况为mysql 5.4.2-beta-community mysql community
server

在高写入负载尤其是命局据集的事态下很注重。这么些值越大则品质相对越高,不过要专心到只怕会追加苏醒时间。笔者不经常设置为
64-512MB,跟据服务器大小而异。

grant 会覆盖客户的部分新闻,跟insert 、update执行功效一样.

如上的连带内容便是对MySQL准期实施的介绍,望你能具有收获。

innodb_log_buffer_size
私下认可的安装在中等强度写入负载以致十分的短事务的气象下,服务器品质还足以。假若存在立异操作峰值也许负载十分大,就应该思谋加大它的值了。假使它的值设置太高了,大概会浪费内存— 它每秒都会刷新叁遍,因而无需安装超过1秒所需的内存空间。经常 8-16MB
就足足了。越小的系统它的值越小。

参考:

mysql 安插任务重启后消退

谈到底解决,myisam与innodb的导数据的品质基本后生可畏致,2500的数量约须要3.5h,单库读数据必要2h,这几个只是叁个暗指值仅供参考,正式劳动的上的测验结果特别明显

咱俩只要改正生机勃勃配备就能够

天性调优语句参考复制代码 代码如下:set
profiling = 1;show profiles\GSHOW profile CPU,BLOCK IO io FOR query
1;show statusShow Processlistexplain

event_scheduler在mysql的config中装置为OFF有关。去mysql少校配置改为ON则就消除了。更详细的豪门可今后下看

彼此读取是或不是会越来越快?

发表评论

电子邮件地址不会被公开。 必填项已用*标注