【发布时间】:2013-07-19 20:38:36
【问题描述】:
我有一个 InnoDB 数据库,主表中有大约 200K 行。尝试根据 VARCHAR (50) 字段在此表中选择行时,我遇到了极其缓慢的查询。
我的查询采用以下形式:
SELECT * FROM table1 WHERE column1 = 'ABC3849DKJFL233489JKJFFK' and column2 = 'UIOJ3833838JJKFDL948DJ';
这些查询使我的脚本速度降低了许多数量级,在我解决此问题之前无法继续我的工作。
除了这些 VARCHAR 字符串之外,我没有其他方法可以选择行。关于如何加快这些查询的任何想法?有什么我可以在这里做的吗?
【问题讨论】:
-
简单。在
column1和column2上创建索引。 -
谢谢。如果我有时仅基于 column1 进行选择,但有时基于 column1 AND column2,我应该: 1) 创建两个单独的索引,每列一个; 2) 为第 1 列创建一个索引,并为第 1 列/第 2 列创建一个单独的组合索引;或 3) column1/column2 只有一个索引?