首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在server 2008中查询大型表

在server 2008中查询大型表
EN

Stack Overflow用户
提问于 2013-02-18 06:33:47
回答 2查看 3.3K关注 0票数 1

我们有一张有2.5亿条记录的桌子(唯一的15位数)。(群集唯一索引列),平均每天将查询至少70万至90万个请求。

我们有多个应用程序访问这个表。每个应用程序将尝试将50万个数据与这2.6亿条记录进行比较。

我们的应用程序将向这个大表添加更多的数据,这实际上减缓了对其他应用程序的查询。

如何提高查询的性能?这张桌子怎么保养?分区?环境: Win 2K8R2,SQL2K8R2,64 it内存,双处理器8核

EN

回答 2

Stack Overflow用户

发布于 2013-02-18 08:31:56

如果多个应用程序只是试图比较数据,那么我相信这些应用程序不会写入表,缓存记录也会有所帮助。另外,还有一种叫做切分的技术,不幸的是,SQL server没有提供这种技术。但是codeplex上有一个库,它为Server提供了这样一个特性。它基本上试图平衡数据库的负载。

我还没有试过,但值得一试。如果你想在这里看到它,http://enzosqlshard.codeplex.com/

票数 0
EN

Stack Overflow用户

发布于 2013-02-18 08:37:28

1.使用临时表格

在您感兴趣的数据子集(行和列)上创建临时表。临时表应该比原始源表小得多,并且可以轻松地进行索引(如果需要的话)。

要创建临时表,可以使用以下代码(未测试):

代码语言:javascript
复制
-- copy records from last month to temporary table
INSERT INTO
   #my_temporary_table
SELECT
    *
FROM
    er101_acct_order_dtl WITH (NOLOCK)
WHERE 
    er101_upd_date_iso > DATEADD(month, -1, GETDATE())

-- run other queries on temporary table (which can be indexed)
SELECT TOP 100
    * 
FROM 
    #my_temporary_table 
ORDER BY 
    er101_upd_date_iso DESC

优点:

对于任何数据子集都很容易做到。很容易管理--这是临时的,也是桌子的。不会影响系统的整体性能,如视图。临时表可以被索引。缺点:

这是数据的快照--但这可能对临时查询来说足够好了。

2.创建视图

类似于上面,但是创建视图而不是临时表。

您可以在您感兴趣的数据子集上创建视图或索引视图,并在视图上运行查询--这应该只包含比整个表小得多的有趣的数据子集。

优点:

一苇可航。它是最新的源数据。缺点:

可能只适用于定义的数据子集。对于更新速度较高的大型表,可能效率低下。管理起来可不容易。会影响整个系统的性能。在大表上选择所有运行星型查询(SELECT * FROM)的列不是件好事.

如果您有大型列(如长字符串),则从磁盘读取它们并通过网络传递需要大量时间。

我会尝试用你真正需要的列名来代替*。

或者,如果需要所有列,请尝试将查询重写到以下内容:

代码语言:javascript
复制
;WITH recs AS (
    SELECT TOP 100 
        id as rec_id -- select primary key only
    FROM 
        er101_acct_order_dtl 
    ORDER BY 
        er101_upd_date_iso DESC
)
SELECT
    *
FROM
    er101_acct_order_dtl
WHERE 
    id = rec.rec_id
ORDER BY 
    er101_upd_date_iso DESC 

脏读

最后一件可以加速查询的事情是允许带有表提示的脏读取(NOLOCK)。

您可以将事务隔离级别设置为未实现的读取,而不是提示:

代码语言:javascript
复制
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14930696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档