Chinaunix
标题:
高人留步:msyql partition 问题
[打印本页]
作者:
beyond_dream
时间:
2007-08-09 17:01
标题:
高人留步:msyql partition 问题
创建下面的 partition 报错误:
CREATE TABLE `card2` (
`cardid` int(12) unsigned NOT NULL,
`else` varchar(20) NOT NULL,
PRIMARY KEY (`cardid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY HASH(CAST(SUBSTRING(CONCAT(`cardid`),1,2) as unsigned))
PARTITIONS 34;
错误提示:ERROR 1154 : this partition function is not allowed
如果单独 SELECT CAST(SUBSTRING(CONCAT(`123456789`),1,2) as unsigned)
结果 是12 没有 问题
作者:
beyond_dream
时间:
2007-08-09 21:44
再顶
作者:
beyond_dream
时间:
2007-08-10 01:31
顶完睡觉
。。。。。。。。。。。。
作者:
beyond_dream
时间:
2007-08-14 11:41
等待。。。。。。。。
作者:
showsa
时间:
2007-08-14 12:53
错误提示都告诉你了,顶什么啊
作者:
yejr
时间:
2007-08-14 14:49
innodb目前只能使用同一个表空间,你用partition估计也没啥提高
作者:
beyond_dream
时间:
2007-08-20 01:15
TO showsa 兄弟
错误是提示那个分区函数有问题
所以我特意单独执行了那个分区函数 、
SELECT CAST(SUBSTRING(CONCAT(123456789),1,2) as unsigned)
结果 是12 没有问题
所以这下就糊涂了
如果不你知道问题的解决方案 不妨告诉我一下
不胜感激
作者:
showsa
时间:
2007-08-21 01:35
不是所有的函数都支持用于分区的,提示已经说明了问题。
再者如果过于复杂,效率要打折扣,得不偿失
作者:
yueliangdao0608
时间:
2007-08-22 15:19
错误提示:ERROR 1154 : this partition function is not allowed
PARTITION不支持这个函数。
作者:
beyond_dream
时间:
2007-08-25 14:27
再次晕到了
http://bbs.chinaunix.net/thread-965922-1-3.html
我希望大家也能像我回答那位兄弟一样
给个具体的答案 好吗
我们不需要那么含蓄,也不需要那么装高深
作者:
yejr
时间:
2007-08-25 17:14
CONCAT(`cardid`) 这是一个不确定的因素,你让mysqld如何计算得到结果?
作者:
trace
时间:
2007-08-25 17:20
标题:
其实提示已经非常清楚了
分区时候的函数。有部分函数是不支持的。
具体请参看mysql手册中的:
17.5.3.2. Functions Not Permitted in Partitioning Expressions
给你个地址吧:
http://dev.mysql.com/doc/refman/ ... ons-disallowed.html
以后碰到问题记得现去手册上找。
作者:
yueliangdao0608
时间:
2007-08-27 14:11
并不是所有的函数都能用到PARTITION上的。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2