所以基本上我有一个名为contents
的表,用户可以在其中存储他们的项目。通常,当用户添加新项目时,该项目会添加到行的末尾。
类似于:
|ID | Name | Item |
--------------------
|1 | Jack | pen |
|2 | Mark | apple |
|3 | albert| orange|
|4 | Jack | pencil|
但是上面的问题是,当我们有很多用户并且项目(例如 Jack 的第一个项目位于行 ID 40 且项目 #2 位于 1000048 时)可能需要很长时间,因此可能需要一段时间才能完成搜索属于 Jack 的所有元素,所以我想知道如何按名称对它们进行排序,因此可能类似于:
|ID | Name | Item |
--------------------
|1 | Jack | pen |
|2 | Jack | pencil|
|3 | Mark | apple |
|4 | albert| orange|
如果用户添加了新项目,则应将其添加到行列表的末尾。
非常感谢所有回复,谢谢:)
最佳答案
为您想要搜索和/或想要排序的任何列(或列组合)添加索引。
不要对表重新排序,也不要对 ID 重新编号。
如果您谈论的是 1000 行,即使您没有进行适当的索引或规范化,您也不太可能注意到任何性能问题。对于一百万行,您会注意到。
关于mysql - 在数据库中创建排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40070550/