在SQL DB中最新的条目不应该在表的顶部吗?

问题描述 投票:0回答:3

我最近开始在一家公司工作,并使用现有的Microsoft SQL数据库。我也是SQL和DB编程的新手,所以请客气:-)但是我已经开发了其他语言的代码。

使用SQL Server Management Studio查看某些表时,我想知道这些表是否被“正确地”填充。当我右键单击任何表时,都有“选择前1000行”和“编辑前200行”的选项。当我单击任一按钮时,结果将显示表中“日期”列所指示的最旧条目而不是最新条目。当然,我可以通过此线程SQL Server SELECT LAST N Rows的简单查询来查看最近的行。但是,最新的条目(行)是否不应该放在表的顶部? (并因此用SELECT TOP命令显示)这是否表示填充表的代码未“正确”编写或未遵循良好实践?似乎,随着表格的当前填充方式,随着时间的流逝,添加新条目将花费越来越长的时间,并且获取最新数据也将花费越来越长的时间。预先感谢。

sql sql-server ssms
3个回答
0
投票

完全没有。 SQL表表示无序集。这意味着当您选择1000个任意行时,它们可以来自表中的任何位置。

实际上,通常从第一页开始读取表,因此看起来SQL总是总是首先返回第一页上的行。这些往往是最古老的,但事实并非如此。


0
投票

SQL中的默认顺序通常在显示最新条目之前显示最旧的条目;但是,SQL规范明确指出,如果未通过ORDER BY语句指定,则该顺序是随机的。

就速度而言,这都不应该有任何区别。数据库的工作方式不同于顺序文件-数据库不需要遍历整个文件即可到达“末尾”,它们可以立即转到表中的任何位置

您可以在https://en.wikipedia.org/wiki/Random_access上阅读有关随机访问或直接访问文件的更多信息>


0
投票

也许this答案可以帮助您。根据Martin Smith

© www.soinside.com 2019 - 2024. All rights reserved.