本文介绍了在PolarDB-X 1.0控制台上对数据表进行调整拆分键、关闭全表扫描和查看表结构的方法。
前提条件
您需要先连接到数据库并使用SQL语句创建表后,才能在控制台上管理数据表。
功能介绍
调整拆分键
拆分键即分库或分表的数据表字段,用于生成拆分规则。PolarDB-X 1.0支持在控制台上对拆分键进行调整。在PolarDB-X 1.0中,一张逻辑表的拆分方式由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。只有当PolarDB-X 1.0使用了相同的拆分函数和拆分键时,才会被认为分库与分表使用了相同的拆分方式。
相同的拆分方式让PolarDB-X 1.0可以根据拆分键的值定位到唯一的物理分库和物理分表。当一张逻辑表的分库拆分方式与分表拆分方式不一致时,若SQL查询没有同时带上分库条件与分表条件,则PolarDB-X 1.0在查询过程会进行全分库扫描或全分表扫描操作。
关闭全表扫描
PolarDB-X 1.0默认为新创建的表开启全表扫描功能,但频繁使用全表扫描功能会占用数据库资源降低查询效率,PolarDB-X 1.0支持在控制台上手动关闭全表扫描。
查看表结构
您可以在PolarDB-X 1.0控制台上查看数据表的表结构详情。
删除数据表
暂不支持在PolarDB-X 1.0控制台上直接删除数据表,您可以登录数据库后使用SQL语句删除目标数据表,详情请参见使用SQL语句删除表。
进入数据表配置页面
- 登录PolarDB分布式版控制台。
- 在页面左上角选择目标实例所在地域。
- 在左侧导航栏中,单击实例列表。
找到目标实例,单击实例ID。
在左侧导航栏中单击 。
在数据库列表中找到目标数据库,单击数据库名称。
在左侧导航栏中,单击 。
调整拆分键
调整拆分键功能会按照您指定的表名和拆分键信息创建一张新的目标表, 通过后台数据同步能力,将数据同步到目标表中,您可以根据需要直接使用新表或者使用rename
语句变更表名。
使用限制
如果分库或者分表拆分函数使用了YYYYMM/YYYYWEEK/YYYYDD时,分库和分表函数需要相同。
暂不支持STR_HASH拆分。
MM/DD/WEEK/MMDD只支持作为表级别的拆分函数。
操作步骤
在数据表配置页面,找到目标数据表,单击右侧操作栏中的调整拆分键。
在弹出的对话框中,根据您的业务需求调整拆分键设置,单击预检。
重要预检任务未结束前不要对产生的临时表或目标表做任何变更。
不要对带有全局二级索引的表进行调整拆分键的操作。更多拆分键的选择和分表形式,请参见CREATE TABLE和拆分函数概述。
数据迁移过程中不支持对原表和目标表进行DDL操作,
如果您需要将新表通过
rename
语句替换掉原数据表,建议您在停止业务写入时操作。如果新表使用了自增主键,通过
rename
语句重命名完成后,需要手动修改该表的sequence的起始值,避免出现主键冲突,修改方法请参见修改Sequence。
在弹出的对话框中,等待预检结果显示成功后,单击调整。
单击右上角图标,查看拆分工具-数据迁移任务的任务进度,直到任务状态显示为成功。
单击停止同步,在弹出的对话框单击确定。
刷新数据表信息页面,查看到提交了调整拆分键任务的表,状态为正常,调整拆分键任务完成。
关闭全表扫描
目标表需已指定拆分键,设置拆分键详细操作步骤请参见调整拆分键。
如果PolarDB-X 1.0拆分表没有开启全表扫描功能,则在访问该表时必须在WHERE子句中包含拆分键。否则,PolarDB-X 1.0将提示TDDL-4510 ERR_CONTAINS_NO_SHARDING_KEY错误代码。
在数据表配置界面,找到目标数据表,单击右侧操作栏中的高级设置。
说明仅当表属性为分库时支持设置全表扫描功能,您可以通过调整拆分键进行分库拆分。
在弹出的对话框中,选择否,单击确定。
查看表结构
找到目标数据表,单击右侧操作栏中的查看表结构,您可以在弹出的对话框中查看目标数据表的表结构详情(如列名、数据类型、是否为主键等)。