Mysql 10000行-根据where子句选择-性能

Mysql 10000行-根据where子句选择-性能,mysql,sql,performance,Mysql,Sql,Performance,我有一个包含10000行的数据库表,我想使用如下方式选择几千项: 从category_id=2的型号中选择id 编辑:id列是表的主要索引。此外,该表还有一个关于category\u id的索引 我的问题是,这会对绩效产生什么影响?查询是否运行缓慢?我是否应该考虑将我的模型< /代码>表分成单独的表(每个类别的一个表)? < p>这是数据库引擎的设计。只要确保在WHERE子句中使用的列上有一个索引。这就是数据库引擎的设计目的。只需确保您在WHERE子句中使用的列上有一个索引。我对SQL相当陌生,

我有一个包含10000行的数据库表,我想使用如下方式选择几千项:

从category_id=2的型号中选择id

编辑:
id
列是表的主要索引。此外,该表还有一个关于
category\u id
的索引


我的问题是,这会对绩效产生什么影响?查询是否运行缓慢?我是否应该考虑将我的<代码>模型< /代码>表分成单独的表(每个类别的一个表)?

< p>这是数据库引擎的设计。只要确保在WHERE子句中使用的列上有一个索引。

这就是数据库引擎的设计目的。只需确保您在WHERE子句中使用的列上有一个索引。

我对SQL相当陌生,但是我会先为该列编制索引。

我对SQL相当陌生,但是我会先为该列编制索引。

您可以尝试此操作以获取100条记录

SELECT id FROM models WHERE category_id = 2 LIMT 100
还可以在该列上创建索引,以快速检索结果

ALTER TABLE `table` ADD INDEX `category_id ` (`category_id `)
编辑:-

如果在列上创建了索引,那么就不必担心性能,数据库引擎足够聪明,可以考虑性能

我的问题是,这会对绩效产生什么影响?会
查询速度慢吗?我是否应该考虑将模型表拆分为 分开的桌子


不,您不必拆分表,因为这无助于提高性能

您可以尝试此操作以获得100条记录

SELECT id FROM models WHERE category_id = 2 LIMT 100
还可以在该列上创建索引,以快速检索结果

ALTER TABLE `table` ADD INDEX `category_id ` (`category_id `)
编辑:-

如果在列上创建了索引,那么就不必担心性能,数据库引擎足够聪明,可以考虑性能

我的问题是,这会对绩效产生什么影响?会
查询速度慢吗?我是否应该考虑将模型表拆分为 分开的桌子


不,您不必拆分表格,因为这无助于提高性能

我同意R.T.的解决方案。此外,我可以向您推荐以下链接:

下载sql代码。当我想分析索引的影响或它们在数据库中的状态时,它是一个存储过程,对我有很大帮助


请检查。

我同意R.T.的解决方案。此外,我可以向您推荐以下链接:

下载sql代码。当我想分析索引的影响或它们在数据库中的状态时,它是一个存储过程,对我有很大帮助


请检查。

感谢您的澄清。感谢您的澄清。id列是模型表的索引。@MantasD.Šimk 3nas:-您可以在类别id上创建索引,也可以在类别id上创建索引column@MantasD.Šimk 3ūnas:-那你就有你想要的了。然而,若您只想获取很少的行,那个么您可以使用该限制,而数据库引擎将考虑其余的性能效率!id列是models表的索引。@MantasD.Šimk 3nas:-您可以在category_id上创建索引,也可以在category_id上创建索引column@MantasD.Šimk 3ūnas:-那你就有你想要的了。然而,若您只想获取很少的行,那个么您可以使用该限制,而数据库引擎将考虑其余的性能效率!我是否应该考虑将我的模型表分割成单独的表(每个类别的一个表)?不可以。不要像这样根据表中的数据拆分表。如果你必须在所有模型中搜索一些东西,你需要对每一个模型表执行一个单独的查询(并且希望你不要错过一个),我是否应该考虑将我的模型表分割成单独的表(每个类别的一个表)?不可以。不要像这样根据表中的数据拆分表。如果必须在所有模型中搜索某些内容,则需要对每个模型表分别运行一个查询(希望不会遗漏一个)