我可以添加特殊列来分类到mysql吗?

时间:2012-06-12 04:20:18

标签: mysql sorting

我的'内容'表有大约10,000,000行。

我使用列'register_date'在内容列表中进行排序。 但现在我想将'register_date'列用于其他目的。 所以,我即将添加像'seq(bigint)'这样的新列进行排序。并为seq列添加索引。

如果添加了新行,则“seq”将填充max seq值。 如果旧行需要出现在列表的头部,则会将'seq'值更改为更新的最大seq值。

在这种情况下,计算最大seq值,插入,更新是否昂贵? 我不知道哪条路好。

1 个答案:

答案 0 :(得分:3)

如果未搜索建议的seq值(例如在WHERE子句中),则根本不对其进行索引。索引未搜索但经常更新的内容会导致性能降低。

只要大多数检索结果只是表的一小部分,SORT BY seq就可以在没有索引的情况下有效地管理排序。最大的问题是:将索引编入索引有什么意义?要回答这个问题,有必要进行一些基准测试。