Open toxmc opened 5 years ago
mycat VERSION 5.6.29-mycat-1.6-RELEASE-20161028204710
字段类型是date
配置信息如下: schema.xml
<table name="forum_detail" primaryKey="ID" dataNode="dn0,dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8,dn9,dn10,dn11" rule="sharding-by-month" />
rule.xml
<tableRule name="sharding-by-month"> <rule> <columns>ymd</columns> <algorithm>partbymonth</algorithm> </rule> </tableRule> <function name="partbymonth" class="io.mycat.route.function.PartitionByMonth"> <property name="dateFormat">yyyy-MM-dd</property> <property name="sBeginDate">2018-01-01</property> </function>
使用了where between语句,explain sql,发现DATA_NODE为dn0
用条件语句 ymd >= 'yyyy-mm-dd' and ymd <= 'yyyy-mm-dd' 替换where between可以得到正确的结果
网上查找相关问题得到
我想问的是目前是还不支持时间字段的where between语句吗?还是我的配置有误。
是支持的
请问这个between条件查询只查询一个节点,而大于小于就可以全部节点搜索的这个问题该怎么解决?
数值类型的可以between and, 时间的感觉还是改成条件的方式
这个问题的原因找到了,是因为rule配置没有配endTime,还需要where查询条件的日期格式和rule配置格式一致。between and就可以找到正确的路由节点,而不用大于小于条件来全路由搜索了。
mycat VERSION 5.6.29-mycat-1.6-RELEASE-20161028204710
字段类型是date
配置信息如下: schema.xml
rule.xml
使用了where between语句,explain sql,发现DATA_NODE为dn0![image](https://user-images.githubusercontent.com/3990846/45397414-79282080-b672-11e8-8d79-d1301e9c7911.png)
用条件语句 ymd >= 'yyyy-mm-dd' and ymd <= 'yyyy-mm-dd' 替换where between可以得到正确的结果
网上查找相关问题得到![image](https://user-images.githubusercontent.com/3990846/45397574-3b77c780-b673-11e8-9452-a06785dc432a.png)
我想问的是目前是还不支持时间字段的where between语句吗?还是我的配置有误。