摘要:
问题 在调用WEBSERVICE时,可以使用wsdl2java生成java代码,调用接口,这种方法在接口固定的情况下是一种不错的选择,如果需要动态调用接口,那么这样就行不通了。 解决办法 1.直接构建soap包进行调用。 2.使用AXIS2包进行调用,下面代码就是使用的这种方式。 测试代码 package wsclient; import javax.xml.nam... 阅读全文
摘要:
kettle 设计完成之后,可以在设计工具中进行调用,也可以使用java代码进行调用。 1.通过文件方式执行转换。 public static void runTransfer(String[] params, String ktrPath) { Trans trans = null; try { // // 初始化 ... 阅读全文
摘要:
KETTLE 是一款开源的ETL工具,通过图形界面进行设计,可以对数据进行转换。设计好的文件分为两类,一类是trans,一类是job,这些文件可以存储到文件系统中。 也可以存储到数据库中。 如果存储到数据库,那么可以创建配置资源库。 配置步骤 打开设计工具spoon.bat 点击加号 点击创建或更新 这里... 阅读全文
摘要:
INNODB I/O相关配置 记录日志为顺序I/O,刷新日志到数据文件为随机操作。顺序操作性能快于随机IO. innodb_log_file_size innodb_log_files_in_group 事务日志总大小: innodb_log_files_in_group * innodb_log_file_size ,日志为循环写入。 innodb_log_buffer_size... 阅读全文
摘要:
使用独立表空间后,系统表空间存储什么内容呢? 1.innodb 数据字典信息 和存储引擎相关。 frm 是服务器的数据字典和存储引擎无关。 2. undo 回滚段。 可以单独存储。 INNODB存储引擎特性 1.事务性存储引擎。 2.支持ACID特性 redo log 和 undo log redo log 实现事务的持久性。 包括两部分: 1.内存... 阅读全文
摘要:
innodb 是在mysql 5.5.8 及之后的版本中成为mysql的默认存储引擎。之前都使用myisam。 innodb 是事务型的存储引擎 支持ACID事务,适用于小事务。 1.表空间类型 使用表空间进行数据存储。 通过参数 innodb_file_per_table 决定 on :独立表空间 :tablename.IBD FRM文件为表结构二进制文件 ... 阅读全文
摘要:
1.客户端 连接处理,授权和安全等。 2.mysql服务层。 在这一层实现了与存储引擎无关的特性。 select 语句:如何从文件中查询需要的数据,这个具体实现方式是有下一层的存储引擎层来实现。 3.存储引擎层。 常见的有: innodb myisam csv memory等。 存储引擎是针对于表的不是针对库的,一个库中不同表可以使用不同的存储引擎... 阅读全文
摘要:
1.大表的数据修改最好分批处理。 1000万行的记录表中删除更新100万行记录,一次只删除或更新5000行数据。每批处理完成后,暂停几秒中,进行同步处理。 2.如何修改大表的表结构。 对表的列的字段类型进行修改,改变字段宽度时还是会锁表,无法解决主从数据库延迟的问题。 解决办法: 1.创建一个新表。 2.在老表上创建触发器同步老表数据到新表。 3.同步老表数据到新表。... 阅读全文
摘要:
根据各阶段消耗的时间,确定如何进行优化。 1.使用profile set profiling=1; 启动profile,这是一个session的配置。 执行需要优化的查询。 使用命令: show profiles 查看每一个查询所消耗的总时间信息。 show profile for query N; 查询的每个阶段所消耗的时间 ,N 为查询出来的queryID。 ... 阅读全文
摘要:
需要搞清楚查询为什么会慢,就要搞清楚mysql处理查询请求的过程: 1.客户端发送SQL请求给服务器 2.服务器检查是否可以在查询缓存中命中该SQL 查询缓存对SQL性能的影响。 1.需要对缓存加锁。 2.表更新需要对缓存刷新。 对于读写频繁的系统使用查询缓存可能会降低查询的处理效率,在这种情况下不要使用查询缓存。 query_cache_type :设置查询是否可... 阅读全文