sql server 2008 r2 提高性能

Posted

技术标签:

【中文标题】sql server 2008 r2 提高性能【英文标题】:sql server 2008 r2 improve performance 【发布时间】:2013-09-13 17:50:40 【问题描述】:

我想提高我的 SQL 选择查询的性能。我正在使用 SQL Server 2008 R2。

我有一张表 Orders,它有大约 1.5 行。

我写了一个简单的

select * from Orders 

查询大约需要 8 秒。因此,UI 组件会在大约 10-11 秒内显示出来。

谁能告诉我可能是什么问题?是因为没有在表上创建索引吗?如果是,我们如何提高性能?

编辑后---

我已经发布了上面的查询..这是一个简单的“从订单中选择 *”。订单是表名。其中 orderId 是主键。我猜数据库将为主键创建一个索引。我还提到没有在表中的任何列上创建索引。该表总共有 15 万条记录。我正在 sql server management studio 中运行查询。甚至令我惊讶的是,查询需要 8 秒才能显示结果.

谢谢, 韩美亚

【问题讨论】:

发布查询、执行计划、表结构、索引等会很有帮助。我不认为这里的任何人都是通灵者,并且可以在没有看到它的情况下阅读您的查询。 使用 SQL Server Management Studio,运行查询并从工具栏中选择“包括操作执行计划”。执行计划将详细说明 SQL 服务器为完成查询所做的工作以及具体的瓶颈所在。 您是否要在屏幕上显示 150,000 条记录? 我已经发布了上面的查询..这是一个简单的 select * from Orders.Orders 是表名。其中 orderId 是主键。我猜数据库将为主创建一个索引关键。我还提到表中的任何列上都没有创建索引。该表总共有 15 万条记录。我正在 sql server management studio 中运行查询。 【参考方案1】:

我不熟悉“lacs”是什么单位,但您可以查看以下内容以尝试提高性能。

    尝试只选择您需要的字段。 从控件中删除任何类型的格式。我的一个朋友在尝试一些非标准配置时遇到了 Telerik 网格的一些问题。 查看服务器是否有问题(cpu/ram 是否已满?) 网络有问题吗? 其他服务器有同样的问题吗?您可以比较配置,看看有什么区别。 表是否碎片化?但不确定这会对选择的性能产生多大影响。

如果您不使用任何连接,我认为放置索引不会有任何改进。

【讨论】:

让我添加一些数据。该表有 22 列,其中 8 列与其他表有 FK 关系,但我的问题是虽然该表只有 15 万条记录,一个简单的选择 * 表执行查询大约需要 8 秒。可能是什么原因?【参考方案2】:

只是为了更新答案,我已经实现了行索引,以根据页面上显示的记录数和起始索引来获取数据。

【讨论】:

以上是关于sql server 2008 r2 提高性能的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 2008 中使用 FOR XML PATH 提高 SQL 查询的性能

SQL2008和sql2008 r2有啥区别

SQL Server 2008 R2中,“选择前1000行”为“选择所有行”

提高 SQL Server 查询性能

SQL Server-聚焦过滤索引提高查询性能

SQL Server 2008 R2:优化查询性能