mysql - 如何在 MySQL 5.5 中创建具有全文索引和分区的表?

标签 mysql partitioning full-text-search create-table mysql-error-1214

我将 MySQL 版本从 5.0 更新到 5.5。我是学习mysql分区的新手。首先,我输入:

SHOW VARIABLES LIKE '%partition%'

Variable_name      Value
have_partitioning   YES

确保新版本支持分区。我尝试每 10 分钟对表进行一次分区,然后将大量数据插入、更新、查询到该表中进行测试。

首先,我需要创建一个新表,我输入代码:

CREATE TABLE test  ( 
`id` int unsigned NOT NULL auto_increment, 
`words` varchar(100) collate utf8_unicode_ci NOT NULL,  
`date` varchar(10) collate utf8_unicode_ci NOT NULL, 
PRIMARY KEY  (`id`),  
FULLTEXT KEY `index` (`words`)
) 
ENGINE=MyISAM  
DEFAULT CHARSET=utf8 
COLLATE=utf8_unicode_ci 
AUTO_INCREMENT=0  
PARTITION BY RANGE (MINUTE(`date`)) 
(
PARTITION p0 VALUES LESS THAN (1322644000),  
PARTITION p1 VALUES LESS THAN (1322644600) , 
PARTITION p2 VALUES LESS THAN (1322641200) ,  
PARTITION p3 VALUES LESS THAN (1322641800) ,  
PARTITION p4 VALUES LESS THAN MAXVALUE
);

它返回警报:#1564 - 不允许使用此分区函数,那么这是什么问题呢?谢谢。

更新

date修改为int NOT NULL,将PARTITION BY RANGE MINUTE(date)修改为PARTITION BY RANGE COLUMNS(date)

CREATE TABLE test  ( 
`id` int unsigned NOT NULL auto_increment, 
`words` varchar(100) collate utf8_unicode_ci NOT NULL,  
`date` int NOT NULL, 
PRIMARY KEY  (`id`),  
FULLTEXT KEY `index` (`words`)
) 
ENGINE=MyISAM  
DEFAULT CHARSET=utf8 
COLLATE=utf8_unicode_ci 
AUTO_INCREMENT=0  
PARTITION BY RANGE COLUMNS(`date`) 
(
PARTITION p0 VALUES LESS THAN (1322644000),  
PARTITION p1 VALUES LESS THAN (1322644600) , 
PARTITION p2 VALUES LESS THAN (1322641200) ,  
PARTITION p3 VALUES LESS THAN (1322641800) ,  
PARTITION p4 VALUES LESS THAN MAXVALUE
);

然后导致新错误:#1214 - 使用的表类型不支持 FULLTEXT 索引

最佳答案

非常抱歉,mysql 不支持同时支持全文和分区。

参见partitioning limitations

FULLTEXT 索引。分区表不支持 FULLTEXT 索引或搜索。这包括使用 MyISAM 存储引擎的分区表。

关于mysql - 如何在 MySQL 5.5 中创建具有全文索引和分区的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8323671/

相关文章:

mysql - 通过将一列设置为 MySql 中其他两列的总和来更新表中的每一行

mysql - 外键与分区

hadoop - AWS Athena 在分区加载后创建缩进并将值移动到错误的列中

powershell - 如何在不知道VHD路径的情况下删除分区访问路径

regex - 使用最新预索引设置的大型源代码的文本搜索工具?

php - Laravel Eloquent 获取所有行及其各自的数据透视表行

c# - Entity Framework 和 friend 数据库的问题

php - 改进我的搜索引擎

ruby-on-rails - 生产中的 Solr 全文搜索——哪个更好 sunspot :solr bundled solution or standalone tomcat+solr?

php - 如何验证整数值以避免 SQL 注入(inject)?