MySQL:在人名字段中查找子字符串

时间:2017-06-27 00:26:19

标签: mysql select search full-text-search substring

在MySQL客户端注册表中,如何在人员的字段名称中快速搜索子字符串?我正在使用:

Select nclient, name from client where name like '% allen%'

在一个记录超过100,000条的表中,它需要超过20秒并且会危及数据库服务。

如何通过substring构建表和索引以进行快速搜索?

--- ---更

在Amazon RDS中:

Query_time:36.805047 Lock_time:0.000104 Rows_sent:30 Rows_examined:71375

select
  ncli, nome, date_format(dt_nasc, '%d-%m-%Y') dt_nasc, sex
from
  cli
where
  cod_clin = 275 and nome like '%ALICE% SA%'
order by
  nome
limit
  0, 1000;

`NCLI` INTEGER(8) NOT NULL AUTO_INCREMENT,
`cod_clin` INTEGER(8) NOT NULL DEFAULT 0,
`NOME` VARCHAR(50) COLLATE latin1_swedish_ci DEFAULT NULL,

 KEY `NOME` USING BTREE (`cod_clin`, `NOME`),

如何更有效地将此功能(通过名称的一部分搜索)提供给我的应用程序?

0 个答案:

没有答案