我最近在一家公司工作,并使用现有的Microsoft SQL Server数据库。我也是SQL和数据库编程的新手,所以请客气:-)我已经用其他语言开发了代码。
使用SQL Server Management Studio查看某些表时,我想知道这些表是否被“正确地”填充。当我右键单击任何表时,都有“选择前1000行”和“编辑前200行”的选项。
[当我单击任一按钮时,结果显示给我的是最旧的条目,而不是最新的条目,如表中的日期列所示。当然,我可以通过此线程SQL Server SELECT LAST N Rows的简单查询来查看最近的行。但是,最新的条目(行)是否不应该放在表的顶部? (并因此用SELECT TOP命令显示)这是否表示填充表的代码未“正确”编写或未遵循良好实践?似乎,随着表格的当前填充方式,随着时间的流逝,添加新条目将花费越来越长的时间,而获取最新数据也将花费越来越长的时间。
提前感谢。
完全没有。 SQL表表示无序集。这意味着当您选择1000个任意行时,它们可以来自表中的任何位置。
实际上,通常从第一页开始读取表,因此看起来SQL总是总是首先返回第一页上的行。这些往往是最古老的,但事实并非如此。
SQL中的默认顺序通常在显示最新条目之前显示最旧的条目;但是,SQL规范明确指出,如果未通过ORDER BY语句指定,则该顺序是随机的。
就速度而言,这都不应该有任何区别。数据库的工作方式不同于顺序文件-数据库不需要遍历整个文件即可到达“末尾”,它们可以立即转到表中的任何位置
您可以在https://en.wikipedia.org/wiki/Random_access上阅读有关随机访问或直接访问文件的更多信息>
这类文件已经存在了很长时间……基本上是Winchester驱动器的基本组成部分(或我们现在称为硬盘驱动器)。同上到以前的方法,例如卷带式或穿孔卡。
这是1953年(https://en.wikipedia.org/wiki/History_of_hard_disk_drives)
也许this答案可以帮助您。根据Martin Smith:
欢迎来到全新的编程领域,让您动身!