首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为MySQL表添加索引?

如何为MySQL表添加索引?

提问于 2017-12-26 16:38:07
回答 3关注 0查看 664

我有一个非常大的MySQL表约150,000行的数据。

代码语言:txt
复制
SELECT * FROM table WHERE id = '1';

以上代码运行良好,因为ID字段是主索引。 但是,最近为了项目的发展,我不得不在另一个领域搜索数据库。 例如

代码语言:txt
复制
SELECT * FROM table WHERE product_id = '1';

以上字段以前没有索引,但是,我已经将其添加为索引,但是当我尝试运行上述查询时,结果是非常缓慢的。 EXPLAIN查询显示,当我已经添加一个product_id字段时,没有索引,并且查询到20分钟到30分钟之间的就突然返回一行。

我完整的EXPLAIN结果是:

代码语言:txt
复制
| id | select_type | table | type | possible_keys        | key  | key_len | ref  | rows      | Extra       |
代码语言:txt
复制
+----+-------------+-------+------+----------------------+------+---------+------+------+------------------+
代码语言:txt
复制
|  1 | SIMPLE      | table | ALL  | NULL                 | NULL | NULL    | NULL |    157211 | Using where |
代码语言:txt
复制
+----+-------------+-------+------+----------------------+------+---------+------+------+------------------+

我刚刚看过,ID字段存储为INT,而PRODUCT_ID字段存储为VARCHAR可能会有所帮助。 这可能是问题的根源吗?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档