Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Mysql中使用LIKE条件对表进行分区_Mysql_Sql Like_Database Partitioning - Fatal编程技术网

如何在Mysql中使用LIKE条件对表进行分区

如何在Mysql中使用LIKE条件对表进行分区,mysql,sql-like,database-partitioning,Mysql,Sql Like,Database Partitioning,我有一个很大的表,要根据varchar(200)类型字段的值进行分区。我已经阅读了,但由于字段的大小,我无法使用此解决方案。 我的问题是:我可以使用“b%”或“o%”等类似标准吗? 如果没有,我如何解决这个问题 提前感谢, Antonio您最好将范围指定为 less than ('c') 它简短易读。似乎只有在按键进行分区时才允许对varchar进行分区(不允许重复值和空值) 我尝试使用一个函数来执行分区,该函数将“转换”为ASCII()形式的整数值,但在分区表达式中,它在Mysql支持的函

我有一个很大的表,要根据varchar(200)类型字段的值进行分区。我已经阅读了,但由于字段的大小,我无法使用此解决方案。
我的问题是:我可以使用“b%”或“o%”等类似标准吗?
如果没有,我如何解决这个问题

提前感谢,

Antonio

您最好将范围指定为

less than ('c')

它简短易读。

似乎只有在按键进行分区时才允许对varchar进行分区(不允许重复值和空值)

我尝试使用一个函数来执行分区,该函数将“转换”为ASCII()形式的整数值,但在分区表达式中,它在Mysql支持的函数中无法进行比较


“但是因为字段的大小”——嗯,即使您将varchar限制为200个字符,您也可以使用该解决方案。当然,但我正在寻找更直接的解决方案。我可以使用这个解决方案编写一个脚本,为每个分区执行类似于分区p1值小于('bzzzz…')199乘以z的操作。无论如何,如果我不能使用类似的标准,我将使用该解决方案。:)你不需要写“z”199次。只要写
小于('c')
@zerkms:你赢了我一分钟@Antonio:
小于('c')
小于'bzz…z'
更好,因为它较短,并且捕获具有
'b{what | ever}'
的字符串,例如,如果它包含比
z
更大的ascii顺序的字符。我得到一个错误:
错误1064(42000):值必须与附近的分区函数具有相同的类型,分区p2值小于('e'),…