到 3.23.23 时,MySQL 开始支持全文索引和搜索。全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM(INNODB不支持) 表. 在 CHAR、VARCHAR 或 TEXT 列上创建。
CREATE FULLTEXT INDEX 索引名字 ON 表名(列名...)
比如:
CREATE TABLE topic(title VARCHAR(60) NOT NULL,context TEXT,author VARCHAR(10))
CREATE FULLTEXT INDEX TEXT_INDEX ON topic(title,content,author);
如果创建FULLTEXT 索引报错:
ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes
这是由Mysql的默认引擎为INNODB引起的,修改my.ini中[mysql] 下的
default-storage-engine=INNODB
改成
default-storage-engine=MyISAM
然后重启Mysql服务
注意,此时修改的默认引擎,只对以后创建的表有效。如果你之前创建了表,则那个表仍然是由INNODB创建的, 还是不能支持FULLTEXT索引。 此时需要重新在MyISAM下创建该表
分享到:
相关推荐
如果表已经存在,可以使用`ALTER TABLE`命令为指定字段添加全文索引。 使用全文索引进行查询时,不能像使用`LIKE`关键字那样简单操作,而应该使用`MATCH`和`AGAINST`关键字。例如: ```sql SELECT * FROM article...
在【标题】"mysql添加索引.pdf"和【描述】中提到,索引主要应用于WHERE子句中频繁使用的列,这样在执行查询时,数据库可以直接通过索引找到满足条件的行,而不是逐行检查。 接下来,我们需要了解MySQL支持的几种...
- 修改表添加全文索引:`ALTER TABLE 表名 ADD FULLTEXT INDEX [索引名] (列名列表);` #### 五、索引的选择与应用 1. **单列索引与多列索引**:索引可以是针对单个列的,也可以是多个列的组合。多列索引是指基于...
添加FULLTEXT(全文索引) 添加多列索引 ) mysql>ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`, 、where条件列 、排序列或者分组列 、主键本身就是索引,无需再次...
- 对于已存在的表,可以使用`ALTER TABLE`或`CREATE INDEX`语句添加全文索引,例如: ```sql CREATE FULLTEXT INDEX index_name ON table_name(column_name); ``` 4. **使用全文检索** - 在`SELECT`语句的`...
索引可以分为主键索引、唯一索引、普通索引和全文索引四种类型,本文将对每种类型的索引进行详细的介绍。 一、主键索引(PRIMARY KEY) 主键索引是唯一标识一行记录的索引,一个表只能有一个主键索引。创建主键...
在Solr中,DataImportHandler(DIH)组件是一个强大的工具,用于从各种外部数据源,如关系型数据库(如MySQL)中导入数据并建立全文索引。在本例中,我们将探讨如何使用Solr 3.6版本的DIH组件来对MySQL数据库中的...
在本文中,我们将深入探讨如何使用Apache Solr 3.6的数据导入处理(DataImportHandler,简称DIH)组件从MySQL数据库中创建全文索引。Solr是一个强大的、开源的企业级搜索平台,而DIH是Solr的一个核心特性,允许用户...
与普通索引一样,全文索引可以在创建表时定义,也可以在表创建后添加或修改。在处理大量数据时,如果在插入数据后再创建索引,其效率会高于在有索引的表中插入数据。 全文索引的搜索语法是`MATCH (列名1, 列名2, …...
从MySQL 3.23.23版本开始支持全文索引。 - 创建表时指定全文索引:`CREATE TABLE tablename ([...], FULLTEXT (列名列表));` - 通过`ALTERTABLE`或`CREATE INDEX`命令创建全文索引。 5. **单列索引与多列索引**:...
如果原有的表不是MyISAM类型,需要先将表类型转换,然后再添加全文索引。 2. 执行全文搜索: 使用`MATCH() AGAINST()`语句进行全文搜索,这比使用`LIKE`关键字进行模糊匹配的速度快得多。例如: ```sql SELECT ...
- **适用场景**:MyISAM和InnoDB存储引擎支持全文索引,尤其在MySQL 5.6及以上版本。 - **特点**:专门用于全文检索,支持复杂的全文检索语法。 #### 三、MyISAM与InnoDB中的索引差异 - **MyISAM中的索引**: - ...
在创建全文索引时,对于大数据量,建议先创建表并导入数据,然后创建全文索引,这样通常比先创建全文索引再导入数据更快。 理解并正确使用这些索引类型对于优化MySQL数据库的性能至关重要。根据查询模式和数据分布...
- 也可以在表存在后添加索引,如`ALTER TABLE ... ADD INDEX (column_name)`. - 使用`CREATE INDEX`语句也可以单独创建索引。 3. 主键与唯一索引: - 主键是一个特殊的唯一索引,不允许有NULL值,且每个表只能有...
MySQL 索引包括普通索引、惟一性索引、全文索引、单列索引、多列索引和空间索引。 #### 普通索引 创建普通索引时,不附加任何限制条件。可以创建在任何数据类型上,其值是否唯一和非空由字段自身的完整性约束条件...