我有下表,显示为SHOW CREATE TABLE
:
CREATE TABLE `lname` (
`lnameid` binary(16) NOT NULL,
`lid` binary(16) NOT NULL,
`name` varchar(200) NOT NULL,
`namerank` int(11) DEFAULT NULL,
`score` float DEFAULT NULL,
PRIMARY KEY (`lnameid`),
KEY `lid` (`lid`),
FULLTEXT KEY `name` (`name`),
CONSTRAINT `lname_ibfk_1` FOREIGN KEY (`lid`) REFERENCES `sl` (`slid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci
该表大约有230,000行.所有行的名称列都具有非空值.
我有以下疑问:
EXPLAIN SELECT MATCH(lname.name) AGAINST ('maillot' IN BOOLEAN MODE) AS nms FROM lname;
+------+-------------+-----------------+------+---------------+------+---------+------+--------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+-----------------+------+---------------+------+---------+------+--------+-------+
| 1 | SIMPLE | lname | ALL | NULL | NULL | NULL | NULL | 228370 | |
+------+-------------+-----------------+------+---------------+------+---------+------+--------+-------+
我的问题是:我看到possible_keys
是NULL
(Extra
是空的),这是否意味着我的FULLTEXT
索引不知何故没有被使用?
查询执行起来似乎很慢.
我在Linux上使用的是MariaDB 10.5.19.