为什么像操作员这么快

背风处

大家都知道sql中的like运算符。例如:

select * 
from customer 
where email like '%goog%'

所以我的问题是数据库如何快速返回结果?当我应该编写这样的函数时,我将遍历所有客户和每封电子邮件。但这很慢。我听说过索引。当数据库不知道第一个或最后一个字母是哪个时,数据库如何使用索引?还是他们的另一种方式呢?

我不想编程这样的东西。我只想知道它是如何工作的。

什么

我不知道您使用的是什么引擎,实际使用的引擎是什么,但是这里有一些有关此问题的有用信息:

  1. 通常,SQL引擎在列内使用自由文本搜索,以便能够更快地提取查询。这是通过创建一个反向索引来完成的,该索引从每个单词映射到包含它们的“文档”(行,列)。一种广泛使用的库是Apache Lucene不幸的是,大多数IR(信息检索)库在查询开始时不支持通配符(但在其他任何地方都支持通配符),因此无法在此类索引中搜索您的特定示例。
  2. 您可以使用后缀树在索引的开头创建索引以支持通配符后缀树非常适合搜索子字符串,例如您的示例。但是,对于搜索中间带有通配符的字符串,它们的优化不是很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么像操作员这么快

来自分类Dev

操作员链接,为什么要增加左分支?

来自分类Dev

为什么链接需要操作员返回引用?

来自分类Dev

山羊胡子操作员为什么工作?

来自分类Dev

为什么必须使用&引用呼叫操作员

来自分类Dev

为什么for循环无法识别|| 操作员?

来自分类Dev

为什么新操作员挂起我的程序?

来自分类Dev

什么是Javascript?操作员?

来自分类Dev

为什么std :: rotate这么快?

来自分类Dev

Python集排序,为什么这么快?

来自分类Dev

为什么jQuery的$ .each这么快?

来自分类Dev

与SQLite相比,为什么Realm这么快?

来自分类Dev

为什么heapq.heapify这么快?

来自分类Dev

为什么Regex的Matches功能这么快?

来自分类Dev

为什么Numpy的克朗这么快?

来自分类Dev

为什么C#OrderBy这么快?

来自分类Dev

为什么`updatedb`程序运行这么快?

来自分类Dev

为什么SSD比原始NAND这么快?

来自分类Dev

为什么流浪汉这么快?

来自分类Dev

为什么当我在VBA Excel中输入操作时,VBA删除操作员标志?

来自分类Dev

Java的操作员,+ - 什么是在下面的代码发生的事情,为什么它是这样写的是

来自分类Dev

为什么要为操作员过载提供两个功能?

来自分类Dev

为什么某些操作员在分配后会更改其类型?

来自分类Dev

为什么呢?操作员报告错误“特征已绑定NoneError:不满足错误”?

来自分类Dev

为什么ADL对操作员功能的行为不同于其他功能?

来自分类Dev

为什么使用Nix lambdas和?操作员互动是这样吗?

来自分类Dev

为什么重载的铸造操作员无法访问私有成员?

来自分类Dev

为什么我有这个错误使操作员超载?

来自分类Dev

为什么对管道操作员的这种使用不起作用?

Related 相关文章

  1. 1

    为什么像操作员这么快

  2. 2

    操作员链接,为什么要增加左分支?

  3. 3

    为什么链接需要操作员返回引用?

  4. 4

    山羊胡子操作员为什么工作?

  5. 5

    为什么必须使用&引用呼叫操作员

  6. 6

    为什么for循环无法识别|| 操作员?

  7. 7

    为什么新操作员挂起我的程序?

  8. 8

    什么是Javascript?操作员?

  9. 9

    为什么std :: rotate这么快?

  10. 10

    Python集排序,为什么这么快?

  11. 11

    为什么jQuery的$ .each这么快?

  12. 12

    与SQLite相比,为什么Realm这么快?

  13. 13

    为什么heapq.heapify这么快?

  14. 14

    为什么Regex的Matches功能这么快?

  15. 15

    为什么Numpy的克朗这么快?

  16. 16

    为什么C#OrderBy这么快?

  17. 17

    为什么`updatedb`程序运行这么快?

  18. 18

    为什么SSD比原始NAND这么快?

  19. 19

    为什么流浪汉这么快?

  20. 20

    为什么当我在VBA Excel中输入操作时,VBA删除操作员标志?

  21. 21

    Java的操作员,+ - 什么是在下面的代码发生的事情,为什么它是这样写的是

  22. 22

    为什么要为操作员过载提供两个功能?

  23. 23

    为什么某些操作员在分配后会更改其类型?

  24. 24

    为什么呢?操作员报告错误“特征已绑定NoneError:不满足错误”?

  25. 25

    为什么ADL对操作员功能的行为不同于其他功能?

  26. 26

    为什么使用Nix lambdas和?操作员互动是这样吗?

  27. 27

    为什么重载的铸造操作员无法访问私有成员?

  28. 28

    为什么我有这个错误使操作员超载?

  29. 29

    为什么对管道操作员的这种使用不起作用?

热门标签

归档