Online DDL 工具:pt-osc
对于 MySQL Online DDL 目前主流的有三种工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比。
一、原理及限制
1.1 原理
1. 创建一个与原表结构相同的空表,表名是 _new 后缀;
2. 修改步骤 1 创建的空表的表结构;
3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中,将原表中要执行的语句在新表中执行;
4. 将原表数据以数据块(chunk)的形式 copy 到新表;
5. rename 原表为 old 表,并把新表 rename 为原表名,然后删除旧表;
6. 删除触发器。
读取mysql数据库文本字段的值方法如下:public
void
read()
{
try
{
//连接数据库
conn
=
JdbcUtils.getConnection()
//查询resume字段,text格式
String
sql
=
"select
resume
from
testclob
where
id=1"
pt
=
conn.prepareStatement(sql)
//执行查询并返回结果
rs
=
pt.executeQuery()
if
(rs.next())
{
//
rs.getCharacterStream读取该字段
Reader
reader
=
rs.getCharacterStream("resume")
//定义字符数组来存放读取值
char
buffer[]
=
new
char[1024]
while
((reader.read(buffer))
!=
-1)
{
//打印
System.out.println(buffer)
}
reader.close()
}
}
catch
(Exception
e)
{
e.printStackTrace()
}
finally
{
JdbcUtils.release(conn,
pt,
rs)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)