行的表中查询5行时,以下查询需要0.00秒:但是反向查询完全相同的行需要SELECT id, username FROM Users FORCE INDEX (PRIMARY) ORDER BY id DESC LIMIT 499975,5;
此外,如果我不强制进行第二个查询的索引,MySQL将选择不使用它。我注意到有一个为索引引入排序顺序的计划,但这并不能解释为什么当
我希望找到与谓词MyColumn LIKE '%FooBar'匹配的所有行,但方法是使用索引查找而不是扫描。一种方法本质上是创建一个反向版本的MyColumn,并在该列上搜索反向模式(ooF%),并在反向列上使用常规索引。
不过,我不喜欢手动创建这个相反的列。Oracle有反向关键索引的概念,它可以在REVERSE(MyColumn)上自动索引,而无需手动实现该列的反向版本(无论是表上的物理列形式,还是创建