首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -字符串后缀索引

MySQL -字符串后缀索引
EN

Stack Overflow用户
提问于 2014-12-21 19:03:04
回答 1查看 872关注 0票数 1

我将电子邮件地址存储在一个列作为varchar,我将进行查询,以选择电子邮件的后缀(域名)。例如:

代码语言:javascript
复制
---------------
EMAIL 
---------------
test@gmail.com
hello@aol.com
hi@yahoo.com
tester@aol.com

例如,我希望能够高效地选择所有带有"aol.com“后缀的电子邮件--最终可能会有数以百万计的记录与查询匹配。是否有一种有效的方法来做到这一点,或者仅仅创建另一列并只存储后缀并向该列添加索引更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-21 23:58:15

MySQL允许对长度固定的字符串前缀进行索引。这对你没有多大帮助,但有点接近了。

您还可以尝试对列进行全文搜索。您希望确保@不是一个单词字符(因此它是一个分隔符),而且很可能.被认为是一个单词字符。如果这样做,您可以在域中使用match against

但是,添加一个新列并分配值和索引可能是最简单的:

代码语言:javascript
复制
alter table t add column domain varchar(255);

update t
    set domain = substring_index(email, '@', -1);

create index idx_t_domain on t(domain);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27592704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档