3

我正在一个由数百万条记录填充的大表上运行 SQL 查询。WHERE 条件是一系列 LIKE,将输入与一些文本字段进行比较。

以下是针对各种输入运行查询所需的时间(平均每个运行 3-5 次)。

* 'aaaa' : ~3.1 seconds
* 'aaa@' : ~2 seconds
* 'aa@a' : ~9.7 seconds
* 'a@aa' : ~9.7 seconds
* 'aa@a' : ~9.8 seconds

所有查询都返回了相似数量的结果 (12-13)。我用其他字母(非重复等)而不是“a”检查了这个,结果或多或少是一样的。

我错过了什么?

谢谢

4

1 回答 1

0

正如上面评论中提到的,它更有可能与表中这些数据的分布有关。尝试在表上创建索引。我无法为您指出正确的索引和方法,但如果您发布您的架构等,我很乐意为您提供帮助。

其次,点赞从来都不是好事,你不能在应用程序代码上改进它并运行equals代替吗?

于 2012-08-19T10:48:02.900 回答