Sql Server 性能和字段顺序

2024-06-23

表中字段创建的顺序是否会影响表上命令的性能? 如果答案是肯定的,有人可以讨论一下吗?

例如我创建了一个像这样的表

create table Software(int id,alpha datetime,beta datetime,title nvarchar(100),stable datetime,description nvarchar(200) )

如果我把它改成

create table Software(int id,alpha datetime,beta datetime,stable datetime,description nvarchar(200),title nvarchar(100) )

有性能影响吗?

清楚吗?


order makes 没有任何区别(当然,如果字段始终相同)

无论如何,磁盘上的结构将几乎保持不变。简单地:

  • header
  • 固定长度列
  • 空位图
  • 可变长度列

您上面所做的只是重新排列“固定长度”和“可变长度”部分内的一些列。然而,无论它们的顺序如何,都需要相同的处理来检索它们。

See 保罗·兰德尔的文章 http://www.sqlskills.com/blogs/paul/post/Inside-the-Storage-Engine-Anatomy-of-a-record.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sql Server 性能和字段顺序 的相关文章

  • 开发和生产 SQL Server 之间使用不同的排序规则会出现哪些问题?

    盘问 无法更新 sys columns 还有其他方法吗 https stackoverflow com questions 4018347 unable to update sys columns any other approach含糊地
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 找出会话的默认 SQL Server 架构

    我需要知道正在执行某些 DDL 的 SQL 脚本中当前的默认架构是什么 我不需要设置架构 但我确实需要将对它的引用 名称或 ID 放入变量中 该脚本可能以 Windows 登录身份运行 因此以下内容还不够 SELECT name defau
  • 从批处理文件执行 SQL Server 脚本

    我有一个需要使用批处理文件执行的脚本 我是否在批处理文件中使用 SQLCMD 来运行脚本 此外 该脚本还将数据插入到数据库中的表中 我应该如何格式化批处理文件中的 SQLCMD 以便它知道它应该使用哪个数据库 首先 将查询保存到 sql 文
  • 如何从表中选择层次结构中的最低级别

    我有一个具有父 子关系的表 Table A Column Id int Column Parent Id int Column Description text 一组示例数据如下 999 NULL Corp 998 999 Div1 997
  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • 连接多个表中的多行

    我已经评论过many https stackoverflow com questions 273238 how to use group by to concatenate strings in sql server other https
  • DbContext 和连接池

    在我继承的应用程序中 基本控制器中有这个 应用程序中的所有其他控制器都继承自该控制器 public BaseController db new MyDbContext db Database Log s gt Debug Write s p
  • 如何在插入后获取插入的行 ID 以及相关数据而不插入相关数据

    我有一组数据需要在表中产生新行 创建此行后 我需要将元数据附加到与此信息相关的单独表中 那就是我需要创建我的 Identity 首先 得到GlobalId从行返回 然后附加 Accounts and Metadata to it 插入数据并
  • SQL Server 2008插入优化

    我必须将大量行 超过 1 000 000 000 插入到 SQL Server 数据库中 该表有一个 AI Id 两个 varchar 80 列和一个以 GETDATE 作为默认值的小日期时间 最后一项只是为了听觉 但却是必要的 我想知道插
  • 如何使用 SQL 语法更改主键约束?

    我有一个表 其主键约束中缺少一列 我不想通过 SQL Server 对其进行编辑 而是想将其放入脚本中以将其添加为更新脚本的一部分 我可以使用什么语法来执行此操作 我必须删除并重新创建关键约束吗 是的 唯一的方法是使用 Alter 表删除约
  • SQL 用逗号替换点

    我有以下代码 SELECT cast Listenpreis 1 19 as decimal 29 2 as Listenpreis FROM SL M03KNE dbo ARKALK 我得到这个值 5 59 我尝试将点替换为 komma
  • 如何获取ms sql中float列中小数点后的位数?

    我必须计算 MS Sql Server 托管的数据库中小数点后的数字 2005 或 2008 并不重要 以纠正用户犯的一些错误 我在 Oracle 数据库上也遇到同样的问题 但事情没那么复杂 Oracle 上的底线是 select leng
  • 为什么使用 SQL Server Express 添加的记录未显示在 SQL Server Management Studio 中?

    我正在测试大量的数字音乐文件记录 我的添加例程是 foreach AlbumModel albumModel in albs try Album album GetAlbum albumModel cmd CommandText inser
  • 如何处理 FOR XML PATH/AUTO 中的空白值 - SQL Server?

    有没有人对这种 SQL Server 行为有任何见解或遇到过 当空白值转换为数据类型时 char 或具有 的列char 作为数据类型 处理使用For XML PATH 它返回 XML 结果 20 空格的特殊字符编码 当相同的空白值转换为va
  • ASP.NET > SqlServer;信任和授权

    我们有一个系统 客户希望集成 Windows 身份验证 这是一个 ASP NET 3 5 应用程序 连接到 Sql Server 2005 Web服务器是Server 2003 R2 SP2 数据库服务器是 Server 2003 SP2
  • SQL查询多个数据库

    我需要运行一个SELECT在 SQL Server 上查询并返回从同一服务器上的多个数据库中提取的信息 我有以下内容 可以工作 SELECT Name Nationality FROM dbtest dbo Staff WHERE Nati
  • 以另一个用户身份执行存储过程

    我遇到以下问题 有一个用户 A 谁必须执行存储过程 spTest In spTest的身体 sp trace generateevent叫做 问题是sp trace generateevent需要更改跟踪权限 并且我不希望用户A拥有这些权限
  • 由于表扫描,表值参数的性能较低

    我有一个将参数传递给 SQL 过程的应用程序 其中一个参数是表值参数 其中包含要包含在 where 子句中的项目 因为当我将 TVP 连接到具有 200 万行的表时 表值参数没有附加任何统计信息 所以查询速度非常慢 我还有什么选择 同样 目

随机推荐