mysql-MariaDB 10中的FULLTEXT索引
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-MariaDB 10中的FULLTEXT索引,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2876字,纯文字阅读大概需要5分钟。
内容图文
![mysql-MariaDB 10中的FULLTEXT索引](/upload/InfoBanner/zyjiaocheng/885/943263c3e5a841c5860c0a7da4df4a44.jpg)
MariaDB文档说自版本10.0.5(https://mariadb.com/kb/en/mariadb/documentation/optimization-and-tuning/optimization-and-indexes/full-text-indexes/fulltext-index-overview/)起支持InnoDB的FULLTEXT索引
我最近安装了MariaDB 10.0.13,并尝试将MyISAM表转换为InnoDB,如下所示:
MariaDB [(test)]> ALTER TABLE field_values ENGINE=InnoDB;
但是遇到了这个错误:
ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes
这是我的表的SHOW INDEXES查询:
MariaDB [(test)]> show indexes in field_values;
+--------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+--------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| field_values | 0 | PRIMARY | 1 | productid | A | NULL | NULL | NULL | | BTREE | | |
| field_values | 0 | PRIMARY | 2 | fieldid | A | 0 | NULL | NULL | | BTREE | | |
| field_values | 1 | value | 1 | value | NULL | NULL | NULL | NULL | | FULLTEXT | | |
+--------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
3 rows in set (0.00 sec)
MariaDB文档说明了只能为CHAR,VARCHAR或TEXT列创建的这些索引.因此,这是我的表的DESCRIBE TABLE:
MariaDB [(test)]> describe field_values ;
+-----------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------+------+-----+---------+-------+
| productid | int(11) | NO | PRI | 0 | |
| fieldid | int(11) | NO | PRI | 0 | |
| value | char(255) | NO | MUL | | |
+-----------+-----------+------+-----+---------+-------+
3 rows in set (0.00 sec)
支持有问题的字段(值),类型为CHAR.
最后,这是我的MariaDB版本:
mysql Ver 15.1 Distrib 10.0.13-MariaDB, for Linux (x86_64) using readline 5.1
因此,至少根据MariaDB文档,应该支持此操作,但是我看到一个错误.为了在MariaDB 10.0.13中启用FULLTEXT索引,我还需要做其他事情吗?
解决方法:
因此,在将MariaDB升级到10.0.14之后,我手动添加了全文索引,并且效果很好.也许从MyIsam索引到XtraDB / InnoDB索引存在转换错误.
但是应该可以正常工作的是:
>从MyIsam删除索引
>将MariaDB升级到10.x
>将MyIsam切换到InnoDB
>手动添加索引
您可以像这样在MariaDB中添加全文索引:
ALTER TABLE your_table ADD FULLTEXT INDEX `ft_column_name` (column_name);
之后,您应该能够按预期使用查询.
内容总结
以上是互联网集市为您收集整理的mysql-MariaDB 10中的FULLTEXT索引全部内容,希望文章能够帮你解决mysql-MariaDB 10中的FULLTEXT索引所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。