mysql - 在数据库中创建排序列表

标签 mysql database database-design

所以基本上我有一个名为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/

相关文章:

php - 尝试从 mysql 实现 mysqli。 Mysql 不工作

database - 是否有具有客户端实现的基于 JSON 的高性能数据库?

php - YII 服务器迁移。内部服务器错误。 CDb异常

ruby-on-rails - 单表继承

PHP插入mysql问题

php - jquery (ajax) 和 php 搜索不显示瑞典字母结果

MySQL GROUP BY 导出导致问题

database - 在 Java 中从数据库表生成 XML 模式

database-design - 存储多类型字段的最佳方式

postgresql - 存储多语言字符串的最佳实践