mysql longtext 与text_mysql longtext

关于

mysql longtext的搜索结果

问题

mysql的varchar和longtext的选择

如果用于存储比较长文本,几千到一万左右的,用varchar还是longtext据说MySQL5的varchar字段能支持到65532的长度,对于一般的文本足够了,还有没有用longtext的必要,这两种字段存取性能上是否有差异?...

落地花开啦

2019-12-01 20:03:15

3927 浏览量

回答数 1

问题

一个字段类型为 LONGTEXT值‘abc’占用多少长度

mysql下:一个字段类型为 VarChar,数据为 abc,占用长度为3;那字段类型为LONGTEXT,数据不变,占用长度是多少呢?...

蛮大人123

2019-12-01 19:51:33

2007 浏览量

回答数 1

回答

详细解答可以参考官方帮助文档由于 Oracle 和 MySQL 的数据类型并不是一一对应的,所以 DTS 在进行结构迁移时,会根据两种数据库类型的数据类型定义,进行类型映射,下面是数据类型映射关系。

Oracle 数据类型

MySQL 数据类型

DTS 是否支持

varchar2(n [char/byte])

varchar(n)

支持

nvarchar2[(n)]

national varchar[(n)]

支持

char[(n [byte/char])]

char[(n)]

支持

nchar[(n)]]

national char[(n)]

支持

number[(p[,s])]

decimal[(p[,s])]

支持

float(p)]

double

支持

long

longtext

支持

date

datetime

支持

binary_float

decimal(65,8)

支持

binary_double

double

支持

timestamp[(fractional_seconds_precision)]

datetime[(fractional_seconds_precision)]

支持

timestamp[(fractional_seconds_precision)]with local time zone

datetime[(fractional_seconds_precision)]

支持

timestamp[(fractional_seconds_precision)]with local time zone

datetime[(fractional_seconds_precision)]

支持

clob

longtext

支持

nclob

longtext

支持

blob

longblob

支持

raw

varbinary(2000)

支持

long raw

longblob

支持

bfile

不支持

interval year(year_precision) to mongth

不支持

interval day(day_precision) to second[(fractional_seconds_precision)]

不支持

对于 char 类型,当 char(n) 的定义长度 n 超过 255 时,DTS 会自动将类型转换为 varchar(n)。由于 MySQL 本身不支持类似 Oracle 中的 bfile、interval year to month、interval day to second 这三种数据类型,所以 DTS 在进行结构迁移时,无法在 MySQL 中找到合适的数据类型进行映射,因此这三种类型不会进行转化。迁移时如果表中含有这三种类型,会导致结构迁移失败,用户可以在指定迁移对象的时候,对需要迁移的对象中这三种类型的列进行排除。由于 MySQL 的 timestamp 类型不包含时区,而 Oracle 的 timestamp with time zone 和 timestamp with local time zone 两种类型默认带有时区信息,所以 DTS 在迁移这两种类型的数据时,会将其转换成 UTC 时区后存入目标 RDS for MySQL 实例。

2019-12-01 23:09:40

0 浏览量

回答数 0

问题

mysql数据文件导入有非法字符退出如何忽略继续执行

导出的sql文件,用source 导入,因为里面有一个longtext 里面存储的是html代码文本。导入的时候报错,有非法字符,然后就跳出,有什么办法忽略掉这个错误,或者其他导入方式...

蛮大人123

2019-12-01 19:49:14

1226 浏览量

回答数 1

回答

用长文本类型来保存mysql中的 LONGTEXT 最大长度为4,294,967,295个字符 应该够用了吧;其他数据库也有类似对应的长文本类型分数你直接用字符串来存就好了;比如1/3,然后取出运算还原结果.

蛮大人123

2019-12-02 02:03:27

0 浏览量

回答数 0

问题

TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT的最大存储大小

根据MySQL文档,共有四种TEXT类型:

细语 文本 中文字 长文本 假设字符编码为UTF-8,我可以在每种数据类型的列中存储的最大长度是多少?...

保持可爱mmm

2020-05-11 10:58:15

0 浏览量

回答数 1

回答

MySQL有三大类数据类型, 分别为数字、日期\时间、字符串, 这三大类中又更细致的划分了许多子类型:

数字类型 。整数: tinyint、smallint、mediumint、int、bigint 。浮点数: float、double、real、decimal 日期和时间: date、time、datetime、timestamp、year **

字符串类型

字符串: char、varchar 文本: tinytext、text、mediumtext、longtext 二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob 这里不能详细对这些类型进行介绍了, 篇幅可能会很长, 详细介绍参见: 《MySQL数据类型》 : http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html

你的答案

2020-05-06 16:44:20

0 浏览量

回答数 0

问题

MySQL Workbench:查询错误(1064):第1行“ VISIBLE”附近的语?mysql

为什么VISIBLE下面会引起问题的任何想法?

CREATE TABLE IF NOT EXISTS setting ( uuid INT(10) NOT NULL, type VARCHAR(255) NOT NULL, ...

保持可爱mmm

2020-05-17 12:52:02

2 浏览量

回答数 1

回答

请在my.cnf下配置

[mysqld]max_allowed_packet=100M

重启mysql

回复

@码上中国博客:将my.default.init复制重命名为my.init,再修改,最后重启下mysql回复

@码上中国博客:这个要自己创建的5.7的MySQL没有这个init文件,只有my.default.init我修改了这个init文件后重启,不管用,再次查看那个值得大小还是不变,按照网上的命令执行后重启了还是不行另外数据库最好不要存储blob、txt之类的大字段,查询分页不是只有blob大对象会有这种问题吗,怎么text也有这种问题了,我用了一个longtext还pgsql吧。一劳永逸用pg管理爬取到的大量网页、图片、pdf毫无压力回复

@554330833a:不是mysql不可以,感觉应该是它不是为这类场景设计的,默认设置比较保守吧。为什么pg可以mysql不可以呢

引用来自“mark35”的评论还pgsql吧。一劳永逸有时是程序设计问题(不适合的场景),后时候是配置问题,虽然基本都能解决,但mysql这些需要耗费时间精力成本的小问题太多。不如要么上商业db要么上免费的pgsql,彻底没这些细节魔鬼

楼主是通过setglobal语句改的max_allowed_packet?然后又用了连接池吧。

另外对于mysql的配置文件,使用命令mysql--help看他的配置文件加载顺序,选其中一个(没有就创建)即可。

爱吃鱼的程序员

2020-06-09 15:46:22

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地的 Oracle 数据库中的数据迁移至 RDS for MySQL 实例。数据传输 DTS (以下简称 DTS)可以实现结构迁移、全量数据迁移以及增量数据迁移。通过三种迁移方式的结合,可以在保持源 Oracle 数据库实例正常对外提供服务的情况下,实现 Oracle 数据库的不停服迁移。

注:当前 DTS 已经可以支持将本地的 Oracle 数据库中的数据迁移至 RDS for MySQL 实例时,数据的反向回流,帮助用户在应用按模块切换过程中,将 RDS for MySQL 实例中产生的数据变化同步回本地的 Oracle 数据库。如有需求,请提交工单咨询开通。

本小节简单介绍使用 DTS 进行 Oracle->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于 Oracle->RDS for MySQL 的迁移,支持结构迁移、全量数据迁移以及增量数据迁移。各迁移类型的限制如下:

结构迁移DTS 会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象包括:表。其他对象如视图、同义词、触发器、存储过程、存储函数、包、自定义类型等暂不支持。

全量数据迁移DTS 会将源数据库迁移对象的存量数据全部迁移到目标 RDS for MySQL 实例。如果仅做全量数据迁移,不做增量数据迁移,迁移过程中,如果源 Oracle 数据库有数据更新的话,那么这部分数据增量变化不一定能够被迁移到目标 RDS for MySQL 中。所以,如果仅做全量数据迁移,不做增量数据迁移,为保证迁移数据一致性,在数据迁移过程中,源端的 Oracle 实例需停止写入。

增量数据迁移增量迁移过程中,DTS 会轮询并捕获源 Oracle 实例由于数据变化产生的重做日志 redo log,然后将数据变化的增量实时同步到目标 RDS for MySQL 实例,通过增量数据迁移可以实现目标 RDS for MySQL 实例同源 Oracle 数据库实例的实时数据同步。

迁移权限要求

当使用 DTS 进行 Oracle->RDS for MySQL 迁移时,在不同迁移类型情况下,对源和目标数据库的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量数据迁移

本地 Oracle 实例

schema 的 owner

schema 的 owner

SYSDBA

目的 RDS for MySQL 实例

待迁入 db 的读写权限

待迁入 db 的读写权限

待迁入 db 的读写权限

迁移前置条件

待迁移 Oracle 数据库的版本为 10g,11g,12c。Oracle 数据库实例开启 supplemental log,且要求 supplemental_log_data_pk,supplemental_log_data_ui 开启。Oracle 数据库实例要求开启 archive log 归档模式,保证归档日志能够被访问并有一定的保存周期。

数据类型映射关系由于 Oracle 和 MySQL 的数据类型并不是一一对应的,所以 DTS 在进行结构迁移时,会根据两种数据库类型的数据类型定义,进行类型映射,下面是数据类型映射关系。

Oracle 数据类型

MySQL 数据类型

DTS 是否支持

varchar2(n [char/byte])

varchar(n)

支持

nvarchar2[(n)]

national varchar[(n)]

支持

char[(n [byte/char])]

char[(n)]

支持

nchar[(n)]]

national char[(n)]

支持

number[(p[,s])]

decimal[(p[,s])]

支持

float(p)]

double

支持

long

longtext

支持

date

datetime

支持

binary_float

decimal(65,8)

支持

binary_double

double

支持

timestamp[(fractional_seconds_precision)]

datetime[(fractional_seconds_precision)]

支持

timestamp[(fractional_seconds_precision)]with local time zone

datetime[(fractional_seconds_precision)]

支持

timestamp[(fractional_seconds_precision)]with local time zone

datetime[(fractional_seconds_precision)]

支持

clob

longtext

支持

nclob

longtext

支持

blob

longblob

支持

raw

varbinary(2000)

支持

long raw

longblob

支持

bfile

不支持

interval year(year_precision) to mongth

不支持

interval day(day_precision) to second[(fractional_seconds_precision)]

不支持

对于 char 类型,当 char(n) 的定义长度 n 超过 255 时,DTS 会自动将类型转换为 varchar(n)。由于 MySQL 本身不支持类似 Oracle 中的 bfile、interval year to month、interval day to second 这三种数据类型,所以 DTS 在进行结构迁移时,无法在 MySQL 中找到合适的数据类型进行映射,因此这三种类型不会进行转化。迁移时如果表中含有这三种类型,会导致结构迁移失败,用户可以在指定迁移对象的时候,对需要迁移的对象中这三种类型的列进行排除。由于 MySQL 的 timestamp 类型不包含时区,而 Oracle 的 timestamp with time zone 和 timestamp with local time zone 两种类型默认带有时区信息,所以 DTS 在迁移这两种类型的数据时,会将其转换成 UTC 时区后存入目标 RDS for MySQL 实例。

迁移步骤下面详细介绍下使用 DTS 将本地 Oracle 数据库中的数据迁移到 RDS for MySQL 实例的任务配置流程。

创建 RDS for MySQL 实例在数据迁移过程中,如果待迁移的数据库在目标 RDS for MySQL 实例中不存在,那么 DTS 会自动创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源 Oracle 与目标 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS 数据库创建流程 RDS 使用手册。

创建迁移帐号迁移任务配置,需要提供 Oracle 数据库及目标 RDS 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求。

如果您的源 Oracle 实例的迁移账号尚未创建,那么您可以参考 Oracle Grant 语法说明,创建满足要求的迁移账号。

RDS for MySQL 迁移账号的创建及授权操作详见 RDS 使用手册。

迁移任务配置当上面的所有前置条件都配置完成后,就可以开始迁移任务配置。下面详细介绍下具体的迁移步骤。

进入数据传输服务 DTS 控制台,单击右上角的创建迁移任务,正式开始任务配置。本地 Oracle 数据库实例及目标 RDS for MySQL 实例的连接信息配置。

这个步骤主要配置迁移任务名称,Oracle 数据库实例连接信息及目标 RDS for MySQL 实例连接信息。其中:

任务名称

DTS 为每个任务自动生成一个任务名称,任务名称没有唯一性要求。您可以根据需要修改任务名称,建议为任务配置具有业务意义的名称,便于后续的任务识别。

源实例信息

实例类型:选择 有公网 IP 的自建数据库数据库类型: 选择 Oracle主机名或IP地址: 配置 Oracle 访问地址,这个地址必须为公网访问方式端口:Oracle 数据库实例的监听端口SID:Oracle 数据库实例的 SID账号:Oracle 数据库实例的连接账号密码:上面指定的 Oracle 数据库实例的连接账号对应的密码

目标实例信息

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS for MySQL 实例的实例 ID。 DTS 支持经典网络和 VPC 网络的 RDS实例账号:RDS for MySQL 实例的连接账号密码:上面指定的 RDS for MySQL 实例连接账号对应的密码

当配置完连接信息后,单击右下角 授权白名单并进入下一步 进行白名单授权。这个步骤 DTS 会将 DTS 服务器的 IP 地址添加到目标 RDS for MySQL 实例的白名单中,避免因为 RDS 实例设置了白名单,导致 DTS 服务器连接不上 RDS for MySQL 实例导致迁移失败。

迁移对象及迁移类型配置。

迁移类型包括:结构迁移、全量数据迁移、增量数据迁移。默认选择 结构迁移+全量数据迁移。

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。 默认情况下,对象迁移到 RDS for MySQL 实例后,对象名与源 Oracle 数据库中一致。如果您迁移的对象在源实例与目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤。

任务预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

当任务进入增量数据迁移阶段,任务不会自动停止,且一旦源 Oracle 数据库实例有增量写入,增量数据就会自动同步到目标 RDS for MySQL 实例。增量数据迁移是个动态同步的过程,建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证。如果验证成功,那么可以停掉迁移任务,将业务切换到目标数据库。

至此,完成将本地 Oracle 数据库到 RDS for MySQL 实例的数据迁移任务配置。

2019-12-01 23:09:40

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地的 Oracle 数据库中的数据迁移至 RDS for MySQL 实例。数据传输 DTS (以下简称 DTS)可以实现结构迁移、全量数据迁移以及增量数据迁移。通过三种迁移方式的结合,可以在保持源 Oracle 数据库实例正常对外提供服务的情况下,实现 Oracle 数据库的不停服迁移。

注:当前 DTS 已经可以支持将本地的 Oracle 数据库中的数据迁移至 RDS for MySQL 实例时,数据的反向回流,帮助用户在应用按模块切换过程中,将 RDS for MySQL 实例中产生的数据变化同步回本地的 Oracle 数据库。如有需求,请提交工单咨询开通。

本小节简单介绍使用 DTS 进行 Oracle->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于 Oracle->RDS for MySQL 的迁移,支持结构迁移、全量数据迁移以及增量数据迁移。各迁移类型的限制如下:

结构迁移DTS 会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象包括:表。其他对象如视图、同义词、触发器、存储过程、存储函数、包、自定义类型等暂不支持。

全量数据迁移DTS 会将源数据库迁移对象的存量数据全部迁移到目标 RDS for MySQL 实例。如果仅做全量数据迁移,不做增量数据迁移,迁移过程中,如果源 Oracle 数据库有数据更新的话,那么这部分数据增量变化不一定能够被迁移到目标 RDS for MySQL 中。所以,如果仅做全量数据迁移,不做增量数据迁移,为保证迁移数据一致性,在数据迁移过程中,源端的 Oracle 实例需停止写入。

增量数据迁移增量迁移过程中,DTS 会轮询并捕获源 Oracle 实例由于数据变化产生的重做日志 redo log,然后将数据变化的增量实时同步到目标 RDS for MySQL 实例,通过增量数据迁移可以实现目标 RDS for MySQL 实例同源 Oracle 数据库实例的实时数据同步。

迁移权限要求

当使用 DTS 进行 Oracle->RDS for MySQL 迁移时,在不同迁移类型情况下,对源和目标数据库的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量数据迁移

本地 Oracle 实例

schema 的 owner

schema 的 owner

SYSDBA

目的 RDS for MySQL 实例

待迁入 db 的读写权限

待迁入 db 的读写权限

待迁入 db 的读写权限

迁移前置条件

待迁移 Oracle 数据库的版本为 10g,11g,12c。Oracle 数据库实例开启 supplemental log,且要求 supplemental_log_data_pk,supplemental_log_data_ui 开启。Oracle 数据库实例要求开启 archive log 归档模式,保证归档日志能够被访问并有一定的保存周期。

数据类型映射关系由于 Oracle 和 MySQL 的数据类型并不是一一对应的,所以 DTS 在进行结构迁移时,会根据两种数据库类型的数据类型定义,进行类型映射,下面是数据类型映射关系。

Oracle 数据类型

MySQL 数据类型

DTS 是否支持

varchar2(n [char/byte])

varchar(n)

支持

nvarchar2[(n)]

national varchar[(n)]

支持

char[(n [byte/char])]

char[(n)]

支持

nchar[(n)]]

national char[(n)]

支持

number[(p[,s])]

decimal[(p[,s])]

支持

float(p)]

double

支持

long

longtext

支持

date

datetime

支持

binary_float

decimal(65,8)

支持

binary_double

double

支持

timestamp[(fractional_seconds_precision)]

datetime[(fractional_seconds_precision)]

支持

timestamp[(fractional_seconds_precision)]with local time zone

datetime[(fractional_seconds_precision)]

支持

timestamp[(fractional_seconds_precision)]with local time zone

datetime[(fractional_seconds_precision)]

支持

clob

longtext

支持

nclob

longtext

支持

blob

longblob

支持

raw

varbinary(2000)

支持

long raw

longblob

支持

bfile

不支持

interval year(year_precision) to mongth

不支持

interval day(day_precision) to second[(fractional_seconds_precision)]

不支持

对于 char 类型,当 char(n) 的定义长度 n 超过 255 时,DTS 会自动将类型转换为 varchar(n)。由于 MySQL 本身不支持类似 Oracle 中的 bfile、interval year to month、interval day to second 这三种数据类型,所以 DTS 在进行结构迁移时,无法在 MySQL 中找到合适的数据类型进行映射,因此这三种类型不会进行转化。迁移时如果表中含有这三种类型,会导致结构迁移失败,用户可以在指定迁移对象的时候,对需要迁移的对象中这三种类型的列进行排除。由于 MySQL 的 timestamp 类型不包含时区,而 Oracle 的 timestamp with time zone 和 timestamp with local time zone 两种类型默认带有时区信息,所以 DTS 在迁移这两种类型的数据时,会将其转换成 UTC 时区后存入目标 RDS for MySQL 实例。

迁移步骤下面详细介绍下使用 DTS 将本地 Oracle 数据库中的数据迁移到 RDS for MySQL 实例的任务配置流程。

创建 RDS for MySQL 实例在数据迁移过程中,如果待迁移的数据库在目标 RDS for MySQL 实例中不存在,那么 DTS 会自动创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源 Oracle 与目标 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS 数据库创建流程 RDS 使用手册。

创建迁移帐号迁移任务配置,需要提供 Oracle 数据库及目标 RDS 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求。

如果您的源 Oracle 实例的迁移账号尚未创建,那么您可以参考 Oracle Grant 语法说明,创建满足要求的迁移账号。

RDS for MySQL 迁移账号的创建及授权操作详见 RDS 使用手册。

迁移任务配置当上面的所有前置条件都配置完成后,就可以开始迁移任务配置。下面详细介绍下具体的迁移步骤。

进入数据传输服务 DTS 控制台,单击右上角的创建迁移任务,正式开始任务配置。本地 Oracle 数据库实例及目标 RDS for MySQL 实例的连接信息配置。

这个步骤主要配置迁移任务名称,Oracle 数据库实例连接信息及目标 RDS for MySQL 实例连接信息。其中:

任务名称

DTS 为每个任务自动生成一个任务名称,任务名称没有唯一性要求。您可以根据需要修改任务名称,建议为任务配置具有业务意义的名称,便于后续的任务识别。

源实例信息

实例类型:选择 有公网 IP 的自建数据库数据库类型: 选择 Oracle主机名或IP地址: 配置 Oracle 访问地址,这个地址必须为公网访问方式端口:Oracle 数据库实例的监听端口SID:Oracle 数据库实例的 SID账号:Oracle 数据库实例的连接账号密码:上面指定的 Oracle 数据库实例的连接账号对应的密码

目标实例信息

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS for MySQL 实例的实例 ID。 DTS 支持经典网络和 VPC 网络的 RDS实例账号:RDS for MySQL 实例的连接账号密码:上面指定的 RDS for MySQL 实例连接账号对应的密码

当配置完连接信息后,单击右下角 授权白名单并进入下一步 进行白名单授权。这个步骤 DTS 会将 DTS 服务器的 IP 地址添加到目标 RDS for MySQL 实例的白名单中,避免因为 RDS 实例设置了白名单,导致 DTS 服务器连接不上 RDS for MySQL 实例导致迁移失败。

迁移对象及迁移类型配置。

迁移类型包括:结构迁移、全量数据迁移、增量数据迁移。默认选择 结构迁移+全量数据迁移。

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。 默认情况下,对象迁移到 RDS for MySQL 实例后,对象名与源 Oracle 数据库中一致。如果您迁移的对象在源实例与目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤。

任务预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

当任务进入增量数据迁移阶段,任务不会自动停止,且一旦源 Oracle 数据库实例有增量写入,增量数据就会自动同步到目标 RDS for MySQL 实例。增量数据迁移是个动态同步的过程,建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证。如果验证成功,那么可以停掉迁移任务,将业务切换到目标数据库。

至此,完成将本地 Oracle 数据库到 RDS for MySQL 实例的数据迁移任务配置。

2019-12-01 23:09:40

0 浏览量

回答数 0

回答

MySQL的文本处理功能不足以满足您的需求。存储功能是一个选项,但可能会很慢。在MySQL中处理数据的最佳选择是添加一个用户定义的函数。无论如何,如果要构建MySQL的较新版本,也可以添加一个native函数。

“正确”的方法是在数据库外部处理数据,因为数据库用于存储而不是处理,并且任何繁重的处理都可能给DBMS带来过多的负担。此外,在MySQL之外计算字数使更改字数定义变得更加容易。更改文档时如何将单词计数存储在数据库中并进行更新?

存储功能示例:

DELIMITER $$ CREATE FUNCTION wordcount(str LONGTEXT) RETURNS INT DETERMINISTIC SQL SECURITY INVOKER NO SQL BEGIN DECLARE wordCnt, idx, maxIdx INT DEFAULT 0; DECLARE currChar, prevChar BOOL DEFAULT 0; SET maxIdx=char_length(str); SET idx = 1; WHILE idx <= maxIdx DO SET currChar=SUBSTRING(str, idx, 1) RLIKE '[[:alnum:]]'; IF NOT prevChar AND currChar THEN SET wordCnt=wordCnt+1; END IF; SET prevChar=currChar; SET idx=idx+1; END WHILE; RETURN wordCnt; END $$ DELIMITER ;来源:stack overflow

保持可爱mmm

2020-05-16 22:26:18

0 浏览量

回答数 0

回答

请记住,MySQL具有最大行大小限制

MySQL表的内部表示形式的最大行大小限制为65,535字节,不包括BLOB和TEXT类型。BLOB和TEXT列仅对行大小限制贡献9到12个字节,因为它们的内容与行的其余部分分开存储。阅读有关表列数和行大小限制的更多信息。

单列可占用的最大大小,在MySQL 5.0.3之前和之后是不同的

VARCHAR列中的值是可变长度的字符串。在MySQL 5.0.3之前,长度可以指定为0到255之间的值,而在5.0.3和更高版本中,长度可以指定为0到65535之间的值。在MySQL 5.0.3及更高版本中,VARCHAR的有效最大长度取决于最大行大小(65,535字节,在所有列之间共享)和所使用的字符集。

但是,请注意,如果使用多字节字符集(如utf8或utf8mb4),则该限制会降低。

使用TEXT类型以克服行大小限制。

四种TEXT类型是TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT。这些对应于四种BLOB类型,并且具有相同的最大长度和存储要求。

有关BLOB和TEXT类型的更多详细信息

MySQLv8.0的参考https://dev.mysql.com/doc/refman/8.0/en/blob.html 参考MySQLv5.7 http://dev.mysql.com/doc/refman/5.7/en/blob.html 参考MySQLv5.6 http://dev.mysql.com/doc/refman/5.6/en/blob.html 参考MySQLv5.5 http://dev.mysql.com/doc/refman/5.5/en/blob.html MySQLv5.1的参考http://dev.mysql.com/doc/refman/5.1/en/blob.html MySQLv5.0的参考http://dev.mysql.com/doc/refman/5.0/en/blob.html 更

查看有关“ 数据类型存储要求”的更多详细信息,该信息处理所有数据类型的存储要求。来源:stack overflow

保持可爱mmm

2020-05-11 13:44:07

0 浏览量

回答数 0

问题

MYSQL的问题还是阿里云RDS的BUG?

聚石塔

RDS

sql

执行结果异常,查询字段值为'良'的,会返回'不良'的!!!相同的表结构、

数据

、sql语句,本...

哆啦aa梦

2019-12-01 21:40:40

1570 浏览量

回答数 0

问题

删除数据库中除最后日期外的所有项目

我有一个看起来很简单的MySQL表:

CREATE TABLE `logging` (

`id` bigint(20) NOT NULL,

`time` timesta...

几许相思几点泪

2019-12-29 20:44:55

1 浏览量

回答数 1

回答

请参阅参考资料以获取最大数量:http : //dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

TINYBLOB, TINYTEXT L + 1 bytes, where L < 2^8 (255 Bytes) BLOB, TEXT L + 2 bytes, where L < 2^16 (64 Kilobytes) MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 2^24 (16 Megabytes) LONGBLOB, LONGTEXT L + 4 bytes, where L < 2^32 (4 Gigabytes) L是文本字段中的字节数。因此,文本的最大字符数为2 16 -1(使用单字节字符)。表示65535个字符(使用单字节字符)。

UTF-8 / MultiByte编码:使用MultiByte编码时,每个字符可能会占用超过1个字节的空间。对于UTF-8,每个字符的空间消耗在1-4个字节之间。来源:stack overflow

保持可爱mmm

2020-05-11 17:30:40

0 浏览量

回答数 0

问题

违反完整性约束:1452无法添加或更新子行:?mysql

我试图在我的注释表中插入值,但出现错误。俗话说,我不能添加或更新子行,我也不知道这意味着什么。

我的架构看起来像这样

-- Table structure for comments

D...

保持可爱mmm

2020-05-17 22:12:00

0 浏览量

回答数 1

问题

RDS for MySQL 的禁用关键字表

RDS for MySQL

参数字段关键字描述DBName/AccountNameadmin,aurora,replicator,xtrabak,root(MySQL5.5/5.6),mysql,test,e...

云栖大讲堂

2019-12-01 21:46:46

1356 浏览量

回答数 0

问题

API参考 - API参考 - 附表 - 禁用关键字表

RDS for MySQL

[tr=rgb(51, 205, 229)][td]参数字段

关键字描述DBName/AccountNameadmin, aurora, replicator, xtrabak, root...

李沃晟

2019-12-01 21:41:34

732 浏览量

回答数 0

回答

AACCESSIBLE (R)ACTIONADD (R)AFTERAGAINSTAGGREGATEALGORITHMALL (R)ALTER (R)ANALYZE (R)AND (R)ANYAS (R)ASC (R)ASCIIASENSITIVE (R)ATAUTHORSAUTOEXTEND_SIZEAUTO_INCREMENTAVGAVG_ROW_LENGTHBBACKUPBEFORE (R)BEGINBETWEEN (R)BIGINT (R)BINARY (R)BINLOGBITBLOB (R)BLOCKBOOLBOOLEANBOTH (R)BTREEBY (R)BYTECCACHECALL (R)CASCADE (R)CASCADEDCASE (R)CATALOG_NAMECHAINCHANGE (R)CHANGEDCHAR (R)CHARACTER (R)CHARSETCHECK (R)CHECKSUMCIPHERCLASS_ORIGINCLIENTCLOSECOALESCECODECOLLATE (R)COLLATIONCOLUMN (R)COLUMNSCOLUMN_NAMECOMMENTCOMMITCOMMITTEDCOMPACTCOMPLETIONCOMPRESSEDCONCURRENTCONDITION (R)CONNECTIONCONSISTENTCONSTRAINT (R)CONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMACONTAINSCONTEXTCONTINUE (R)CONTRIBUTORSCONVERT (R)CPUCREATE (R)CROSS (R)CUBECURRENT_DATE (R)CURRENT_TIME (R)CURRENT_TIMESTAMP (R)CURRENT_USER (R)CURSOR (R)CURSOR_NAMEDDATADATABASE (R)DATABASES (R)DATAFILEDATEDATETIMEDAYDAY_HOUR (R)DAY_MICROSECOND (R)DAY_MINUTE (R)DAY_SECOND (R)DEALLOCATEDEC (R)DECIMAL (R)DECLARE (R)DEFAULT (R)DEFINERDELAYED (R)DELAY_KEY_WRITEDELETE (R)DESC (R)DESCRIBE (R)DES_KEY_FILEDETERMINISTIC (R)DIRECTORYDISABLEDISCARDDISKDISTINCT (R)DISTINCTROW (R)DIV (R)DODOUBLE (R)DROP (R)DUAL (R)DUMPFILEDUPLICATEDYNAMICEEACH (R)ELSE (R)ELSEIF (R)ENABLEENCLOSED (R)ENDENDSENGINEENGINESENUMERROR added in 5.5.3 (nonreserved)ERRORSESCAPEESCAPED (R)EVENTEVENTSEVERYEXECUTEEXISTS (R)EXIT (R)EXPANSIONEXPLAIN (R)EXTENDEDEXTENT_SIZEFFALSE (R)FASTFAULTSFETCH (R)FIELDSFILEFIRSTFIXEDFLOAT (R)FLOAT4 (R)FLOAT8 (R)FLUSHFOR (R)FORCE (R)FOREIGN (R)FOUNDFRAC_SECOND removed in 5.5.3FROM (R)FULLFULLTEXT (R)FUNCTIONGGENERAL added in 5.5.3 (reserved); became nonreserved in 5.5.8GEOMETRYGEOMETRYCOLLECTIONGET_FORMATGLOBALGRANT (R)GRANTSGROUP (R)HHANDLERHASHHAVING (R)HELPHIGH_PRIORITY (R)HOSTHOSTSHOURHOUR_MICROSECOND (R)HOUR_MINUTE (R)HOUR_SECOND (R)IIDENTIFIEDIF (R)IGNORE (R)IGNORE_SERVER_IDS became nonreserved in 5.5.8IMPORTIN (R)INDEX (R)INDEXESINFILE (R)INITIAL_SIZEINNER (R)INNOBASE removed in 5.5.3INNODB removed in 5.5.3INOUT (R)INSENSITIVE (R)INSERT (R)INSERT_METHODINSTALLINT (R)INT1 (R)INT2 (R)INT3 (R)INT4 (R)INT8 (R)INTEGER (R)INTERVAL (R)INTO (R)INVOKERIOIO_THREADIPCIS (R)ISOLATIONISSUERITERATE (R)JJOIN (R)KKEY (R)KEYS (R)KEY_BLOCK_SIZEKILL (R)LLANGUAGELASTLEADING (R)LEAVE (R)LEAVESLEFT (R)LESSLEVELLIKE (R)LIMIT (R)LINEAR (R)LINES (R)LINESTRINGLISTLOAD (R)LOCALLOCALTIME (R)LOCALTIMESTAMP (R)LOCK (R)LOCKSLOGFILELOGSLONG (R)LONGBLOB (R)LONGTEXT (R)LOOP (R)LOW_PRIORITY (R)MMASTERMASTER_CONNECT_RETRYMASTER_HEARTBEAT_PERIOD became nonreserved in 5.5.8MASTER_HOSTMASTER_LOG_FILEMASTER_LOG_POSMASTER_PASSWORDMASTER_PORTMASTER_SERVER_IDMASTER_SSLMASTER_SSL_CAMASTER_SSL_CAPATHMASTER_SSL_CERTMASTER_SSL_CIPHERMASTER_SSL_KEYMASTER_SSL_VERIFY_SERVER_CERT (R)MASTER_USERMATCH (R)MAXVALUE (R)MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOURMAX_ROWSMAX_SIZEMAX_UPDATES_PER_HOURMAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB (R)MEDIUMINT (R)MEDIUMTEXT (R)MEMORYMERGEMESSAGE_TEXTMICROSECONDMIDDLEINT (R)MIGRATEMINUTEMINUTE_MICROSECOND (R)MINUTE_SECOND (R)MIN_ROWSMOD (R)MODEMODIFIES (R)MODIFYMONTHMULTILINESTRINGMULTIPOINTMULTIPOLYGONMUTEXMYSQL_ERRNONNAMENAMESNATIONALNATURAL (R)NCHARNDBNDBCLUSTERNEWNEXTNONODEGROUPNONENOT (R)NO_WAITNO_WRITE_TO_BINLOG (R)NULL (R)NUMERIC (R)NVARCHAROOFFSETOLD_PASSWORDON (R)ONEONE_SHOTOPENOPTIMIZE (R)OPTION (R)OPTIONALLY (R)OPTIONSOR (R)ORDER (R)OUT (R)OUTER (R)OUTFILE (R)OWNERPPACK_KEYSPAGEPARSERPARTIALPARTITIONPARTITIONINGPARTITIONSPASSWORDPHASEPLUGINPLUGINSPOINTPOLYGONPORTPRECISION (R)PREPAREPRESERVEPREVPRIMARY (R)PRIVILEGESPROCEDURE (R)PROCESSLISTPROFILEPROFILESPROXY added in 5.5.7 (nonreserved)PURGE (R)QQUARTERQUERYQUICKRRANGE (R)READ (R)READS (R)READ_ONLYREAD_WRITE (R)REAL (R)REBUILDRECOVERREDOFILEREDO_BUFFER_SIZEREDUNDANTREFERENCES (R)REGEXP (R)RELAY added in 5.5.3 (nonreserved)RELAYLOGRELAY_LOG_FILERELAY_LOG_POSRELAY_THREADRELEASE (R)RELOADREMOVERENAME (R)REORGANIZEREPAIRREPEAT (R)REPEATABLEREPLACE (R)REPLICATIONREQUIRE (R)RESETRESIGNAL (R)RESTORERESTRICT (R)RESUMERETURN (R)RETURNSREVOKE (R)RIGHT (R)RLIKE (R)ROLLBACKROLLUPROUTINEROWROWSROW_FORMATRTREESSAVEPOINTSCHEDULESCHEMA (R)SCHEMAS (R)SCHEMA_NAMESECONDSECOND_MICROSECOND (R)SECURITYSELECT (R)SENSITIVE (R)SEPARATOR (R)SERIALSERIALIZABLESERVERSESSIONSET (R)SHARESHOW (R)SHUTDOWNSIGNAL (R)SIGNEDSIMPLESLAVESLOW added in 5.5.3 (reserved); became nonreserved in 5.5.8SMALLINT (R)SNAPSHOTSOCKETSOMESONAMESOUNDSSOURCESPATIAL (R)SPECIFIC (R)SQL (R)SQLEXCEPTION (R)SQLSTATE (R)SQLWARNING (R)SQL_BIG_RESULT (R)SQL_BUFFER_RESULTSQL_CACHESQL_CALC_FOUND_ROWS (R)SQL_NO_CACHESQL_SMALL_RESULT (R)SQL_THREADSQL_TSI_DAYSQL_TSI_FRAC_SECOND removed in 5.5.3SQL_TSI_HOURSQL_TSI_MINUTESQL_TSI_MONTHSQL_TSI_QUARTERSQL_TSI_SECONDSQL_TSI_WEEKSQL_TSI_YEARSSL (R)STARTSTARTING (R)STARTSSTATUSSTOPSTORAGESTRAIGHT_JOIN (R)STRINGSUBCLASS_ORIGINSUBJECTSUBPARTITIONSUBPARTITIONSSUPERSUSPENDSWAPSSWITCHESTTABLE (R)TABLESTABLESPACETABLE_CHECKSUMTABLE_NAMETEMPORARYTEMPTABLETERMINATED (R)TEXTTHANTHEN (R)TIMETIMESTAMPTIMESTAMPADDTIMESTAMPDIFFTINYBLOB (R)TINYINT (R)TINYTEXT (R)TO (R)TRAILING (R)TRANSACTIONTRIGGER (R)TRIGGERSTRUE (R)TRUNCATETYPETYPESUUNCOMMITTEDUNDEFINEDUNDO (R)UNDOFILEUNDO_BUFFER_SIZEUNICODEUNINSTALLUNION (R)UNIQUE (R)UNKNOWNUNLOCK (R)UNSIGNED (R)UNTILUPDATE (R)UPGRADEUSAGE (R)USE (R)USERUSER_RESOURCESUSE_FRMUSING (R)UTC_DATE (R)UTC_TIME (R)UTC_TIMESTAMP (R)VVALUEVALUES (R)VARBINARY (R)VARCHAR (R)VARCHARACTER (R)VARIABLESVARYING (R)VIEWWWAITWARNINGSWEEKWHEN (R)WHERE (R)WHILE (R)WITH (R)WORKWRAPPERWRITE (R)XX509XAXMLXOR (R)YYEARYEAR_MONTH (R)ZZEROFILL (R)MySQL 5.5 New Keywords and Reserved WordsThe following list shows the keywords and reserved words that are added in MySQL 5.5, compared to MySQL 5.1. Reserved keywords are marked with (R).CCATALOG_NAMECLASS_ORIGINCOLUMN_NAMECONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMACURSOR_NAMEEERRORGGENERALIIGNORE_SERVER_IDSMMASTER_HEARTBEAT_PERIODMESSAGE_TEXTMYSQL_ERRNOPPROXYRRELAYRELAYLOGRESIGNAL (R)SSCHEMA_NAMESIGNAL (R)SLOWSUBCLASS_ORIGINTTABLE_NAMEXXMLMySQL 5.5 Removed Keywords and Reserved WordsThe following list shows the keywords and reserved words that are removed in MySQL 5.5, compared to MySQL 5.1. Reserved keywords are marked with (R).FRAC_SECONDINNOBASEINNODBSQL_TSI_FRAC_SECOND原文:https://blog.csdn.net/u011479200/article/details/78664625

努力增长

2019-12-02 01:55:24

0 浏览量

回答数 0

问题

关于activerecord的model增加属性的问题

如下描述正确与否,哪里有纰漏的,@詹兄请指出。

关于activerecord的model属性的创建:

jfinal activerecord的model使用map存储属性值,这与传统的model(javabean)的设计是不一样的,在Act...

小旋风柴进

2019-12-01 19:47:43

973 浏览量

回答数 1

问题

有关于 Hibernate 注解报错 问题

package com.hn3l.website.entity;

import java.io.Serializable;

import javax.persistence.Column;

import javax.persiste...

爵霸

2019-12-01 20:06:16

1210 浏览量

回答数 1

问题

mysql数据传输/数据迁移的过程函数编写问题:报错

本小白由于项目需求需要将服务器上的数据取下来融合到本地的数据库,写了如下代码

BEGIN

//声明变量用来存从服务器上取下来的值

declare done int default 0;

de...

kun坤

2020-06-06 16:40:41

0 浏览量

回答数 1

问题

hibernate注解问题?报错

package com.hn3l.website.entity;

import java.io.Serializable;

import javax.persistence.Column;

import javax.persistenc...

爱吃鱼的程序员

2020-06-15 19:54:09

197 浏览量

回答数 2

问题

hibernate注解问题? 400 报错

hibernate注解问题? 400 报错

package com.hn3l.website.entity;

import java.io.Serializable;

import javax.persistence.Column; im...

爱吃鱼的程序员

2020-06-04 14:02:30

3 浏览量

回答数 1

回答

生产环境中,SQL语句的执行计划经常会发生改变,导致数据库不稳定。阿里云利用Optimizer Hint和Index Hint让MySQL稳定执行计划,该方法称为Statement Outline,并提供了工具包(DBMS_OUTLN)便于您快捷使用。

前提条件

实例版本为RDS MySQL 8.0。

功能设计

Statement Outline支持官方MySQL 8.0的所有hint类型,分为如下两类:

Optimizer Hint 根据作用域和hint对象,分为Global level hint、Table/Index level hint、Join order hint等。详情请参见MySQL官网。 Index Hint 根据Index Hint的类型和范围进行分类。详情请参见MySQL官网 Statement Outline表介绍

AliSQL内置了一个系统表(outline)保存hint,系统启动时会自动创建该表,无需您手动创建。这里提供表的创建语句供您参考: ​CREATE TABLE mysql.outline ( Id bigint(20) NOT NULL AUTO_INCREMENT, Schema_name varchar(64) COLLATE utf8_bin DEFAULT NULL, Digest varchar(64) COLLATE utf8_bin NOT NULL, Digest_text longtext COLLATE utf8_bin, Type enum('IGNORE INDEX','USE INDEX','FORCE INDEX','OPTIMIZER') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, Scope enum('','FOR JOIN','FOR ORDER BY','FOR GROUP BY') CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '', State enum('N','Y') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Y', Position bigint(20) NOT NULL, Hint text COLLATE utf8_bin NOT NULL, PRIMARY KEY (Id) ) /*!50100 TABLESPACE mysql */ ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0 COMMENT='Statement outline'​ 参数说明如下。

参数 说明 Id Outline ID。 Schema_name 数据库名。 Digest Digest_text进行hash计算得到的64字节的hash字符串。 Digest_text SQL语句的特征。 Type Optimizer Hint中,hint类型的取值为OPTIMIZER。 Index Hint中,hint类型的取值为USE INDEX、FORCE INDEX或IGNORE INDEX。 Scope 仅Index Hint需要提供,分为如下三类: FOR GROUP BY FOR ORDER BY FOR JOIN 空串表示所有类型的Index Hint。 State 本规则是否启用。 Position Optimizer Hint中,Position表示Query Block, 因为所有的Optimizer Hint必须作用到 Query Block上,所以,Position从1开始,hint作用在语句的第几个关键字上,Position就是几。 Index Hint中,Position表示表的位置, 也是从1开始,hint作用在第几个表上,Position就是几。 Hint Optimizer Hint中,Hint表示完整的hint字符串,例如/*+ MAX_EXECUTION_TIME(1000) */。 Index Hint中,Hint表示索引名字的列表, 例如ind_1,ind_2。 管理Statement Outline

为了便捷地管理Statement Outline,AliSQL在DBMS_OUTLN中定义了六个本地存储规则。详细说明如下: add_optimizer_outline 增加Optimizer Hint。命令如下: dbms_outln.add_optimizer_outline('','

','','

','

'); 说明 Digest和Query(原始SQL语句)可以任选其一。如果填写Query,DBMS_OUTLN会计算Digest和Digest_text。 示例: CALL DBMS_OUTLN.add_optimizer_outline("outline_db", '', 1, '/*+ MAX_EXECUTION_TIME(1000)

/', "select * from t1 where id = 1"); add_index_outline 增加Index Hint。命令如下: dbms_outln.add_index_outline('','

',

,'

','

','

','

'); 说明 Digest和Query(原始SQL语句)可以任选其一。如果填写Query,DBMS_OUTLN会计算Digest和Digest_text。 示例: call dbms_outln.add_index_outline('outline_db', '', 1, 'USE INDEX', 'ind_1', '', "select * from t1 where t1.col1 =1 and t1.col2 ='xpchild'"); preview_outline 查看匹配Statement Outline的情况,可用于手动验证。命令如下: dbms_outln.preview_outline('','

'); 示例: ​mysql> call dbms_outln.preview_outline('outline_db', "select * from t1 where t1.col1 =1 and t1.col2 ='xpchild'"); +------------+------------------------------------------------------------------+------------+------------+-------+---------------------+ | SCHEMA | DIGEST | BLOCK_TYPE | BLOCK_NAME | BLOCK | HINT | +------------+------------------------------------------------------------------+------------+------------+-------+---------------------+ | outline_db | b4369611be7ab2d27c85897632576a04bc08f50b928a1d735b62d0a140628c4c | TABLE | t1 | 1 | USE INDEX (

ind_1) | +------------+------------------------------------------------------------------+------------+------------+-------+---------------------+ 1 row in set (0.00 sec)​ show_outline 展示Statement Outline在内存中命中的情况。命令如下: dbms_outln.show_outline(); 示例: ​mysql> call dbms_outln.show_outline(); +------+------------+------------------------------------------------------------------+-----------+-------+------+-------------------------------------------------------+------+----------+-------------------------------------------------------------------------------------+ | ID | SCHEMA | DIGEST | TYPE | SCOPE | POS | HINT | HIT | OVERFLOW | DIGEST_TEXT | +------+------------+------------------------------------------------------------------+-----------+-------+------+-------------------------------------------------------+------+----------+-------------------------------------------------------------------------------------+ | 33 | outline_db | 36bebc61fce7e32b93926aec3fdd790dad5d895107e2d8d3848d1c60b74bcde6 | OPTIMIZER | | 1 | /

+ SET_VAR(foreign_key_checks=OFF)

/ | 1 | 0 | SELECT * FROM t1 WHERE id = ? | | 32 | outline_db | 36bebc61fce7e32b93926aec3fdd790dad5d895107e2d8d3848d1c60b74bcde6 | OPTIMIZER | | 1 | /+ MAX_EXECUTION_TIME(1000)

/ | 2 | 0 | SELECT * FROM t1 WHERE id = ? | | 34 | outline_db | d4dcef634a4a664518e5fb8a21c6ce9b79fccb44b773e86431eb67840975b649 | OPTIMIZER | | 1 | /+ BNL(t1,t2)

/ | 1 | 0 | SELECT t1 . id , t2 . id FROM t1 , t2 | | 35 | outline_db | 5a726a609b6fbfb76bb8f9d2a24af913a2b9d07f015f2ee1f6f2d12dfad72e6f | OPTIMIZER | | 2 | /+ QB_NAME(subq1)

/ | 2 | 0 | SELECT * FROM t1 WHERE t1 . col1 IN ( SELECT col1 FROM t2 ) | | 36 | outline_db | 5a726a609b6fbfb76bb8f9d2a24af913a2b9d07f015f2ee1f6f2d12dfad72e6f | OPTIMIZER | | 1 | /+ SEMIJOIN(@subq1 MATERIALIZATION, DUPSWEEDOUT) */ | 2 | 0 | SELECT * FROM

t1 WHERE

t1 .

col1 IN ( SELECT

col1 FROM

t2 ) | | 30 | outline_db | b4369611be7ab2d27c85897632576a04bc08f50b928a1d735b62d0a140628c4c | USE INDEX | | 1 | ind_1 | 3 | 0 | SELECT * FROM

t1 WHERE

t1 .

col1 = ? AND

t1 .

col2 = ? | | 31 | outline_db | 33c71541754093f78a1f2108795cfb45f8b15ec5d6bff76884f4461fb7f33419 | USE INDEX | | 2 | ind_2 | 1 | 0 | SELECT * FROM

t1 ,

t2 WHERE

t1 .

col1 =

t2 .

col1 AND

t2 .

col2 = ? | +------+------------+------------------------------------------------------------------+-----------+-------+------+-------------------------------------------------------+------+----------+-------------------------------------------------------------------------------------+ 7 rows in set (0.00 sec)​ 关于HIT和OVERFLOW的说明如下。 参数 说明 HIT 此Statement Outline命中的次数。 OVERFLOW 此Statement Outline没有找到Query block或相应的表的次数。 del_outline 删除内存和表中的某一条Statement Outline。命令如下: dbms_outln.del_outline(

); 示例: ​mysql> call dbms_outln.del_outline(32); 说明 如果删除的规则不存在,系统会报相应的警告,您可以使用show warnings;查看警告内容。 ​mysql> call dbms_outln.del_outline(1000); Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql> show warnings; +---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 7521 | Statement outline 1000 is not found in table | | Warning | 7521 | Statement outline 1000 is not found in cache | +---------+------+----------------------------------------------+ 2 rows in set (0.00 sec)​ flush_outline 如果您直接操作了表outline修改Statement Outline,您需要让Statement Outline重新生效。命令如下: dbms_outln.flush_outline(); 示例: mysql> update mysql.outline set Position = 1 where Id = 18; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0

​mysql> call dbms_outln.flush_outline(); Query OK, 0 rows affected (0.01 sec)​ 功能测试

验证Statement Outline是否有效果,有如下两种方法: 通过preview_outline进行预览。 mysql> call dbms_outln.preview_outline('outline_db', "select * from t1 where t1.col1 =1 and t1.col2 ='xpchild'"); +------------+------------------------------------------------------------------+------------+------------+-------+---------------------+ | SCHEMA | DIGEST | BLOCK_TYPE | BLOCK_NAME | BLOCK | HINT | +------------+------------------------------------------------------------------+------------+------------+-------+---------------------+ | outline_db | b4369611be7ab2d27c85897632576a04bc08f50b928a1d735b62d0a140628c4c | TABLE | t1 | 1 | USE INDEX (ind_1) | +------------+------------------------------------------------------------------+------------+------------+-------+---------------------+ 1 row in set (0.01 sec) 直接使用explain查看。 mysql> explain select * from t1 where t1.col1 =1 and t1.col2 ='xpchild'; +----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------------+ | 1 | SIMPLE | t1 | NULL | ref | ind_1 | ind_1 | 5 | const | 1 | 100.00 | Using where | +----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------------+ 1 row in set, 1 warning (0.00 sec)

mysql> show warnings; +-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Level | Code | Message | +-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Note | 1003 | /* select#1 */ select outline_db.t1.id AS id,outline_db.t1.col1 AS col1,outline_db.t1.col2 AS col2 from outline_db.t1 USE INDEX (ind_1) where ((outline_db.t1.col1 = 1) and (outline_db.t1.col2 = 'xpchild')) | +-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)

游客yl2rjx5yxwcam

2020-03-08 13:27:59

0 浏览量

回答数 0

问题

django 安装报错,求助求助?报错

SyntaxError: ('invalid syntax', ('/usr/local/lib64/python2.6/site-packages/Django-1.7-py2.6.egg/django/test/...

爱吃鱼的程序员

2020-06-14 21:54:12

0 浏览量

回答数 1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值