首页 > 数据库 > > HotDB的DNID特色语法
NID是数据节点DATANODE_ID的缩写
在计算节点上可以使用DNID作为WHERE子句中的过滤条件,以及在SELECT语句中作为查询项;也可以在结果集中显示每行结果的DNID(数据节点)。
执行该SELECT语句,计算节点将会返回分片表customer在数据节点ID为1上的数据。
DELETEFROM customer WHERE dnid=1 AND id=3;
执行该DELETE语句,计算节点将会删除分片表customer在数据节点ID为1,字段ID等于3的数据。
UPDATEcustomer SET id=4 WHERE dnid=1 AND name=‘a’;
执行该DELETE语句,计算节点将会修改分片表customer在数据节点ID为1,字段name等于’a’的数据。
执行该SELECT语句,计算节点将会在结果集里显示所有结果的dnid值,且dnid必须放在*的后面,否则会出现语法错误。
图中结果分别显示了数据节点ID为12,13,14,15的数据行。
全局表SET SHOW_DNID=1,语句,计算节点将会在SELECT语句中返回每一行结果的DNID(GLOBAL)。
mysql>set show_dnid=1;
Query OK,0 rows affected (0.00 sec)
mysql>select * from tb_quan;
±-----±----±------±---------+
| id | a | b | DNID |
±-----±----±------±---------+
| 1 | 1 | 1.10 | GLOBAL |
| 2 | 2 | 1.20 | GLOBAL |
| 3 | 3 | 1.30 | GLOBAL |
±-----±----±------±---------+
SET SHOW_DNID=0,将取消在结果集中显示DNID列。
mysql>set show_dnid=0;
Query OK,0 rows affected (0.00 sec)
mysql>select * from customer where id in (77,67,52,20);
±—±--------±-----------±-----------±-----------±-----±------------+
| id |name | telephone | provinceid | province | city | address |
±—±--------±-----------±-----------±-----------±-----±------------+
| 52 | 马深圳 | 13912340052 | 7 | Guangdong | 深圳 | 某某街某某号 |
| 77 | 郝上海 | 13912340077 | 25 | Shanghai | 上海 | 某某街某某号 |
| 20 | 许重庆 | 13912340020 | 4 | Chongqing | 重庆 | 某某街某某号 |
| 67 | 岑南昌 | 13912340067 | 17 | Jiangxi | 南昌 | 某某街某某号 |
±—±--------±-----------±-----------±-----------±-----±------------+
4 rows inset (0.00 sec)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3136232/ ,如需转载,请注明出处,否则将追究法律责任。