MyCat配置文件schema.xml讲解

1.MyCat配置

1.1 schema标签

如果checkSQLschema配置的为false,那么执行DB01.TB_ORDER时就会报错,必须用use切换逻辑库以后才能进行查询。

sqlMaxLimit如果未指定limit进行查询,列表查询模式默认为100,最多只查询100条。因为用mycat后默认数据量特别大,查询全表数据是十分耗费性能的。

要拆分的表我们都需要在table标签下进行定义,他变了标签有五个属性,name为表明,在整个逻辑库当中保证唯一就可以了。

dataNode表示这张逻辑表中的数据分布在哪几个数据节点当中。多个数据节点使用逗号分隔,这里面配置的dn1,dn2,dn3其实是一个引用需要和dataNode标签中的name对应。

rule指的是分片规则的名字,分片规则的名字是在rule.xml中定义的。

另外还可以在table标签里面定义primaryKey,逻辑表对应真是表的主键。

type是用来声明逻辑表的类型。

1.2 dataNode标签

dataNode标签中定义了MyCat中的数据节点,也就是我们常说的数据分片。一个dataNode标签就是一个独立的数据分片。

dataHost指的是节点主机,这个也需要在dataHost标签当中去定义,最后一个是database,它指定是当前这个数据节点关联的哪一个数据库。

1.3 dataHost标签

name指的是节点主机的唯一表示,供上层dataNode标签使用。

balance指的是负载均衡策略,取值有0,1,2,3

2.小结

schema标签配置的是逻辑库逻辑表,dataNode里面配置的是数据节点,dataHost配置的是节点主机以及关联的数据源的相关信息。

schema中指定逻辑库的库名,可以配置多个table指的是逻辑表,table里面的dataNode指的是这个数据表里面分为几片,存储到哪几个数据节点当中。dataNode关联下面dataNode标签里面的name属性。多个节点之间逗号分隔。

相关推荐
IvorySQL2 小时前
PG 日报|新增 VACUUM 全维度统计信息补丁迭代
数据库·人工智能·postgresql·ivorysql
白露与泡影5 小时前
Redis 缓存实战:雪崩、穿透、击穿一次讲透
数据库·redis·缓存
赵渝强老师6 小时前
【赵渝强老师】使用Oracle可传输的表空间迁移数据
数据库·oracle
IpdataCloud7 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun3141598 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖8 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
蓝胖子酱9 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li10 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存
Devlive 开源社区10 小时前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql
这个DBA有点耶11 小时前
导个数据中文全变问号?字符集这事儿真没那么简单
数据库·mysql·代码规范