0

我想禁用或使表中的前 100.000 条记录不可见,只是为了使 SQL 搜索更快,我不想删除,因为在那里很重要,我也知道我可以将它移动到另一个表,但我想要一种更简单的方法来使它更容易和更有条理。

我要说的是,例如,如果我使用类似的命令:DISABLE FROM table WHERE id <= 100000,那么下次我进行搜索 "SELECT * FROM table LIMIT 1" 时,它会返回 100001 行,而不必遍历所有 100000 行,因为它们被禁用。

这对 MySQL 来说有可能吗?

谢谢!

4

3 回答 3

2

添加一个位列,并在“禁用”时将该位设置为 0,并将其添加到您的 WHERE 子句

于 2013-04-26T12:54:42.623 回答
1

如果您执行 SELECT * FROM Table WHERE id > 10000 LIMIT 1 那么只要 id 被索引,前 10000 行不会导致任何性能问题。

于 2013-04-26T12:54:56.417 回答
0

如果你想让你的 SQL 更快,你最好先研究一下索引

于 2013-04-26T13:09:36.620 回答