db表将在其中一列中存储大量电子邮件地址。 该列通常会查找单个地址,因此我将在该列上设置索引。只搜索完整的地址,没有部分或LIKE。
在性能方面更有意义:将地址反转,即'moc.liamg@tset'或保持直线,即'test@gmail.com'?
答案 0 :(得分:1)
如果您经常查询部分电子邮件域(即@
之后的部分),则可以在索引列中反转 。
这样,数据库引擎可以将索引用于这样的查询:
... WHERE ReverseMail LIKE REVERSE('.com') + '%'
如果您在大多数情况下查询完整域,只需创建一个仅包含域的单独列并将其编入索引。针对=
运算符的索引查找将快于针对LIKE
运算符的索引查找。