Home

博客正在恢复数据

svn地址:  http://amoeba.googlecode.com/svn/trunk

下载地址: https://sourceforge.net/projects/amoeba/files/

文档地址:http://docs.hexnova.com/amoeba

简单介绍文档: http://amoeba.meidusa.com/amoeba.pdf

think in lamp 首届架构师大会演讲稿:amoeba ppt

Amoeba 捐赠入口 

Amoeba 3.0

目前文档只针对 3.0之前的版本,3.0版本将会写入这个wiki中。

先说明一下 3.0与之前2.X版本的区别:

经常性的问题:

1.经常遇到sql无法解析,是否影响sql的执行? 如何避免复杂sql无法正确路由(比如读写分离)

答:

a)  无法解析的sql,并不影响sql的执行。

b)  sql无法解析的问题可以采用sql注释的方式,让amoeba只解析简单的sql

比如sql: SELECT group_concat(distinct if(Barcode>0,Barcode,null)) as barcode, group_concat(distinct c.Spec) AS spec FROM GC_Commodity_Medicine AS cm

 INNER JOIN GC_Commodity AS c ON cm.PKID=c.PKID WHERE (cm.SeriesNum='□□□□□□H20030585') GROUP BY SeriesNum

那么对于amoeba来说,这个语句需要经过负责的解析,如果有特殊的函数之类,可能导致无法解析,可以采用sql注释方式来简写sql

比如:  SELECT  /* @amoeba(select * from GC_Commodity_Medicine where cm.SeriesNum='□□□□□□H20030585') */  group_concat(distinct if(Barcode>0,Barcode,null)) as barcode, group_concat(distinct c.Spec) AS spec FROM GC_Commodity_Medicine AS cm

 INNER JOIN GC_Commodity AS c ON cm.PKID=c.PKID WHERE (cm.SeriesNum='□□□□□□H20030585') GROUP BY SeriesNum

SELECT group_concat(distinct if(Barcode>0,Barcode,null)) as barcode, group_concat(distinct c.Spec) AS spec FROM GC_Commodity_Medicine AS cm
 INNER JOIN GC_Commodity AS c ON cm.PKID=c.PKID WHERE (cm.SeriesNum='□□□□□□H20030585') GROUP BY SeriesNum
经过上面的注释改造,amoeba就只解析 select * from GC_Commodity_Medicine where cm.SeriesNum='□□□□□□H20030585' 

避免了解析复杂的sql

-----------------------------------------------------------------------------------------------

最近的更新

Navigate space