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 万条记录,一个简单的选择 *只是为了更新答案,我已经实现了行索引,以根据页面上显示的记录数和起始索引来获取数据。
【讨论】:
以上是关于sql server 2008 r2 提高性能的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL Server 2008 中使用 FOR XML PATH 提高 SQL 查询的性能