MySQL的InnoDB是一個(gè)存儲引擎,它支持ACID事務(wù)處理和行級鎖定。與MyISAM引擎不同,它還支持全文索引。
全文索引允許用戶在一個(gè)或多個(gè)文本字段中搜索指定的關(guān)鍵字或短語。 InnoDB使用全文索引來提高搜索性能。
以下是在InnoDB表中創(chuàng)建全文索引的示例代碼:
CREATE TABLE mytable ( id INT(11) NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, content TEXT, PRIMARY KEY (id), FULLTEXT KEY idx_content (content) ) ENGINE=InnoDB;
在上面的示例中,我們創(chuàng)建了一個(gè)名為“mytable”的表,并在其中添加了三個(gè)字段:ID,標(biāo)題和內(nèi)容。我們還指定了ID為主鍵,并在內(nèi)容字段上創(chuàng)建了一個(gè)全文索引。
要在InnoDB表中搜索全文索引,我們將使用MATCH AGAINST語法:
SELECT * FROM mytable WHERE MATCH (content) AGAINST ('database' IN NATURAL LANGUAGE MODE);
上面的查詢將返回表中包含“database”關(guān)鍵字的所有行。
總而言之,MySQL的InnoDB存儲引擎支持全文索引,這使得在文本字段中搜索關(guān)鍵字變得更加高效。