首页 > 数据库 > MySQL > 正文

MySQL使用Amoeba作为Proxy时的注意事宜

2024-07-24 12:32:35
字体:
来源:转载
供稿:网友
        MySQL使用Amoeba作为Proxy时的注意事项;

(1).Amoeba不支持事务
      目前Amoeba不支持事务,任何有关事务的SQL语句都会被Amoeba屏蔽掉。如果必须使用事务,而且事务内的处理操作都可以路由到同一台MySQL上的话,可以考虑在存储过程中使用事务进行处理。另外,Amoeba将来有望支持事务。
  
(2).Amoeba不支持跨库join和排序
     跨库的join和排序非常消耗资源,会导致性能严重下降,Amoeba没有进行支持。
  
(3).Insert语句必须指定表的列名
Amoeba是根据SQL语句进行解析的,如果SQL语句中没有切分规则中的关键字,那么Amoeba就不会按照规则进行水平切分。比如,按照城市ID进行数据水平切分时,如下语句不会被正确切分:
INSERT INTO tb_Shop VALUES (1,5,'店铺的名称','店铺的地址',1,'2011-07-30');
而如下语句则可以正确切分:
INSERT INTO tb_Shop(Shop_ID,ity_ID,ShopName,Address,ShopStatus,CreateTime) VALUES (1,5,'店铺的名称','店铺的地址',1,'2011-07-30');
也就是说,切分规则中的关键字City_ID必须要在SQL语句中出现。
 
 
(4). Amoeba需要更严格的SQL语句规范
From 关键字后面如果不是子查询,一律不能带括号”()”;
如果的表中字段名与关键字或者函数名一样需要带上字符` (比如:mytable.`order`)。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表