1) 使用 LOAD DATA INFILE ,
这种读入文本文件的方式会比普通的insert 语句快很多(10 倍以上)
2) 使用批量插入
insert into xxx_table (xxx_column) values(x1,x2,x3),(y1,y2,y3),(z1,z2,z3);
3) 对myisam tables 开启 concurrent inserts
concurrent_insert global 变量用来控制并行插入的,默认是1,如果设成0表示不用并行插入, 如果设成2表示即使表有删除的数据,也可以并行插入到表的末尾. 使用set global concurrent_insert = 1.
4) use insert delayed
这个文档上写的很清楚了. 当你不用等待插入完成的时候,尤其是记录logging 并且你同时要使用会运行很长时间的select 或update 语句的时候.当你使用insert delayed 服务器会马上返回, row 会被排进队列,直到table 没有被其他人使用. insert delayed into xxx_table(xxx_column) values (x1,x2,x3)
5) 对非事务性表使用lock table
当你lock table 之后插入,你的index buffer 只有在全部insert 完成之后flush 一次,比普通的不lock table 会flush 很多次的性能要好. 对事务性的插入操作,还是要显示start transaction 并且commit , 而不是lock table. 这个对不要求7×24 高可用的数据库很有用, 数据仓库导数据的时候也很适合.
6) set unique_checks 和 set foreign_key_checks
当执行大量插入操作的时候,set unique_checks=0 和set foreign_key_checks=0 会关闭掉主键唯一性检查和外键检查,当你插入完的时候再设置成1.
7) 使用64 位的mysqlinsert 命令
阅读全文…
每年一度的eclipsecon 大会又是eclipse 爱好者的聚集地,今年的规模虽然小了一点,但是仍然精彩,我最关心两个:一个birt , 一个amazon cloud.
birt 今年的演讲到不少,关于
Birt Usage
Who Is BIRT? Solving Your Data Visualization Needs with Open Source Reporting
Advanced BIRT Report Customization
Deploying and Integrating BIRT
Basic BIRT Reporting
有些以前都演讲过,在eclipsecon 2008 或是其他的大会上.
另外一个amazon cloud 的演讲:build application for the cloud with amazon.
在加上刚刚发布的ams eclipse tools (infoq.cn 刚报道过), 真是强悍呀,商业云用到像他们那种地步,完全就是把虚拟化和云技术变的跟切菜一样容易,本地eclipse 开发,随时都可以部署到云上,还远程调试(除了强不知道该怎么说了). 再加上amazon 的那个云便宜呀,便宜到你拿人民币当美元花你都觉得便宜的那种境界. 唉,美国跟欧洲都已经有了amazon cloud 了,不知道中国什么时候能有.
另外有个小关心的演讲就是dtp 的. 演讲的题目仍然是query builder 和extending dtp.
live.eclipse.org 上那个关于dtp 的演讲用adobe 视频做的(好卡, 里面两个主持人一开始就闹眼子,互相把别人的名字拼错,我怀疑是故意的,搞气氛的). 至于这次eclipsecon 大会上的dtp 演讲,ppt 已经可以在birt-exchange 下载了,可惜没代码,还是太空洞了一点.
阅读全文…
这是看了Sun 的communityone 上一篇介绍hyperic 在mysql 上scaling 的介绍写的笔记.
hyperic 是一个在大型数据中心用作服务器管理和监控的软件,Hyperic HQ 提供中心服务器来收集多台主机的状态和性能指标,并且在一个中心界面上管理…… 其他的好处看后面的参考资料
Hyperic 默认是支持三种数据库mysql,oracle,postgresql.
后面会用到的几个hyperic 内的术语:
Servers: 一台主机上一个特定的应用类型,比如mysql 服务,jboss 服务.
Services: 对应一个服务里面具体的某一个类型,比如mysql 里面的cpu 消耗,内存消耗,每个表的磁盘消耗.
Metrics: 每一个Services 一个时间点收集上来的数据,比如10:40 cpu 的消耗是60%.
Metrics data points(数据点): 一个时间点的某一个services 的具体数值, 比如上面的60%.
一种标准中等规模的度量数据:
远程管理300台主机,2100 Servers,21000 Services , 46万metric, 每分钟收集2万metric (平均值), 每天就是2千8百万数据点 (这个数据比较保守,性能收集间隔可以大一些.所以实际支持主机还可以多很多)
Hyperic Mysql 版本Scaling 技巧: 阅读全文…