您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

当您执行“ SELECT *”操作时,SQL Server如何确定列的顺序?

当您执行“ SELECT *”操作时,SQL Server如何确定列的顺序?

column_id从系统角度看,它们是按顺序排列的sys.columns

您可以通过以下方式进行检查:

SELECT column_id, name
FROM sys.columns
WHERE object_id = Object_id('MyTableName')
ORDER BY column_id

这是给Dems的。您应该在更大的表上进行测试,但是看起来它使用表中定义的顺序,而不是索引:

CREATE TABLE #T (cola int, colb int, colc int)

INSERT INTO #T
VALUES
(1,2,3),
(2,3,4),
(4,5,6)

SELECT * FROM #T

CREATE INDEX ix_test ON #T (colb, colc, cola)

SELECT * FROM #t
WHERE colb > 0

DROP TABLE #T
SQLServer 2022/1/1 18:52:12 有596人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶