Mar*_*ldt 13 sql-server ssms sql-order-by
是否有一些方法可以使SQL Server Management Studio默认返回行降序?每次我通过菜单打开一个表(例如通过选择返回所有行),我得到顶部最旧的行.我知道我可以在sql语句中添加'order by desc',但输入会变得烦人:)
JNK*_*JNK 13
SQL中没有默认的排序顺序
如果您在顶部看到"最旧",那么这可能是引擎检索它的最快方式,因为这是它存储在磁盘上的方式.
除非您指定订单,否则不保证您按此顺序获取它,将其视为"无序"!
ORDER BY
是以特定顺序获得结果的唯一方法.
根据指定的表和顺序,订购可能是一项昂贵的操作,因此无序是常态.
JNK所说的是100%正确的.
但是,如果你只是想让它正常工作,并且只有当你打开一个表而不是你查询一个表时......
尝试添加聚簇索引,第一个索引字段按降序编制索引.这实际上可能会导致您的需求.
(如果您已在该字段上拥有聚簇索引,请编辑其属性并更改其顺序.)
如果这样的索引对表的实际使用是友好的,那么这只是一个明智的想法.如果为了您的方便起见,有一个无用的编程索引会自我失败;)
您无法更改用于从 SSMS 中的上下文菜单生成 SELECT 的现有模板。
值得庆幸的是,SSMS 是可扩展的。这意味着您可以编写自己的扩展来完全执行您想要的操作,或者您可以使用一些现有的解决方案。我推荐 Mladen 的 SSMS 工具包:
直到最近它还是免费的,2008r2 及更早版本仍然免费。