检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
存储过程和相关表字符集不一致导致执行缓慢 场景描述 GaussDB(for MySQL)存储过程执行很慢,处理少量数据耗时1min以上,而单独执行存储过程中的SQL语句却很快。 原因分析 存储过程和相关表、库的字符集不一致,导致查询结果存在大量字符转换,从而执行缓慢。 排查过程:
修改全局变量成功但未生效 场景描述 使用Console上的参数修改功能修改long_query_time成功,但未生效。 原因分析 使用Console修改参数时,系统实际使用“set global 变量名=新的变量值;”修改全局参数。 在使用set global命令修改全局变量值时需
串等), 导致最终结果与串行结果有差别。 结果集顺序差别 因为是多个工作线程执行查询,返回的结果集可能与非并行执行顺序不一致。在具有LIMIT查询的情况下,更容易出现与串行结果顺序不同的现象。对于不可见字符,当MySQL判断多个不可见字符相等时,可能会出现结果集顺序不同,或者group
自增字段取值 GaussDB(for MySQL)对自增字段的赋值有以下几种方法: # 表结构 CREATE TABLE animals ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL
hint,该单条SQL也不会并行执行。 查看并行执行的状态 通过如下SQL,查看并行执行的当前状态,显示结果请见图1。 show status like "%PQ%" 图1 状态显示 通过EXPLAIN展示查询语句的并行执行计划,显示结果请见图2。 图2 并行执行计划结果展示 与传统的执行计划相
确认迁移结果 确认迁移结果可参考如下两种方式: DRS会针对迁移对象、用户、数据等维度进行对比,从而给出迁移结果,详情参见在DRS管理控制台查看迁移结果。 直接登录数据库查看库、表、数据是否迁移完成。手工确认数据迁移情况,详情参见在GaussDB(for MySQL)管理控制台查看迁移结果。
MySQL)SQL使用规范 数据库SQL查询规范 当使用ORDER BY .. LIMIT查询时,优先考虑通过索引优化查询语句,提高执行效率。 使用ORDER BY、GROUP BY、DISTINCT执行查询时,where条件过滤出来的结果集请保持在1000行以内,否则会降低查询效率。 使用ORDER
供其他用户连接使用。 执行PREPARE语句 创建临时表 修改用户变量 大数据插入查询(例如16MB以上) 使用lock table 多语句(带分号的拼接SQL,例如SELECT 1;SELECT 2) 存储过程调用 操作步骤 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
确认数据迁移结果 确认升级迁移结果有两种方式: 方式一:(自动)在DRS管理控制台查看迁移结果。DRS会针对迁移对象、用户、数据等维度进行对比,从而给出迁移结果。 方式二:(手工)在GaussDB(for MySQL)管理控制台查看迁移结果。直接登录数据库查看库、表、数据是否迁移完成。手工确认数据迁移情况。
索引长度限制导致修改varchar长度失败 delete大表数据后,再查询同一张表时出现慢SQL 更新emoji表情数据报错Error 1366 存储过程和相关表字符集不一致导致执行缓慢 报错ERROR [1412]的解决方法 存在外键的表无法删除 GROUP_CONCAT结果不符合预期 创建二级索引报错Too many
该模式不会解析Multi-Statements,性能好,适合Multi-Statements内仅含DML SQL,不含设置session变量、创建临时表、创建存储过程、执行未提交事务等操作的场景。 Parse模式 该模式下,Multi-Statements会发往主节点,同时数据库代理会解析M
global、session 控制读写事务连接的超时时间,单位为秒。 参数设置为0时不生效,即表示读写事务连接的超时时间没有限制。 上述三个变量的关系:idle_readonly_transaction_timeout和idle_write_transaction_timeout的
异常请求结果 异常响应要素说明 表1 异常响应要素说明 名称 参数类型 说明 error_code String 提交任务异常时返回的错误编码,详细错误码描述请参见错误码。 error_msg String 提交任务异常时返回的错误描述信息。 响应样例 { "error_code":
这个表和其他表有外键关系,在MySQL中,设置了外键关联,会造成无法更新或删除数据,避免破坏外键的约束。 可以通过设置变量FOREIGN_KEY_CHECKS值为off,来关闭上述机制,详见官方文档。 解决方案 通过设置变量FOREIGN_KEY_CHECKS值为off,来关闭上述机制: set session
nt(*)结果,并在最后阶段将所有中间结果进行聚合得到最终结果。具体如下: 图1 并行查询原理图 应用场景 并行查询适用于大部分SELECT语句,例如大表查询、多表连接查询、计算量较大的查询。对于非常短的查询,效果不太显著。 轻分析类业务 报表查询通常SQL复杂而且比较耗费时间,通过并行查询可以加速单次查询效率。
function查询结果不准确或异常错误的问题。 修复在打开plan cache后反复执行一类prepare statement,数据库节点崩溃的问题。 修复在先后执行的存储过程中,由于字符集不一致导致的报错问题。 修复一类开启PQ后进行磁盘hash join,查询结果不符合预期的问题。
function查询结果不准确或异常错误的问题。 修复在打开plan cache后反复执行一类prepare statement,数据库节点崩溃的问题。 修复在先后执行的存储过程中,由于字符集不一致导致的报错问题。 修复一类开启PQ后进行磁盘hash join,查询结果不符合预期的问题。
GROUP_CONCAT结果不符合预期 场景描述 SQL语句中使用GROUP_CONCAT()函数时,出现结果不符合预期的情况。 原因分析 GROUP_CONCAT()函数返回一个字符串结果,该结果由分组中的值连接组合而成。需要注意的是:这个函数的结果长度是有限制的,由group
queries获取TPCH 22个查询query语句,并进行相应操作。 测试结果 通过采用16线程并行查询,其中的17条QUERY的性能得到明显提升,查询速度平均提升10倍以上。TPCH性能测试结果如下图所示。 图1 测试结果 父主题: 并行查询(PQ)