sql - 如何更快地搜索 SQL 表中的数百万条记录?

标签 sql query-optimization sql-like

我有数百万个域名的 SQL 表。但是现在当我搜索让我们说

SELECT * 
  FROM tblDomainResults 
 WHERE domainName LIKE '%lifeis%'

得到结果需要10多分钟。我尝试建立索引,但这没有帮助。

存储这数百万条记录并在短时间内轻松访问这些信息的最佳方法是什么?

到目前为止,大约有 5000 万条记录和 5 列。

最佳答案

最有可能的是,您尝试了一个传统索引,该索引不能用于优化 LIKE 查询,除非模式以固定字符串开头(例如“lifeis%”)。

您的查询需要的是全文索引。现在大多数 DBMS 都支持它。

关于sql - 如何更快地搜索 SQL 表中的数百万条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876861/

相关文章:

android - 如何在 android 中使用 glob 和 sqlite

MySQL IN 子句太慢,无法使 JOIN 正常工作

mysql查询优化(使用sum函数)

query-optimization - 刷新缓存以在 PostgreSQL 9.1 中进行基准测试

sql - 日期时间上的 "BETWEEN AND"和 "> AND <="有什么区别?

php - 从由引用表连接的两个表中选择?

postgresql - 如何在 Postgresql 中进行 "case-insensitive"查询?

sql - 通过存储过程从 SQL 导出二进制文件数据(图像)

sql - 在 SQL Server 上调试复杂的 T-SQL 过程

sql - Postgresql 从要比较的日期中提取 monthYear