设在SQL Server 2008某数据库中存在销售单据明细表,其建表语句为: CREATE TABLE销售单据明细表( 销售单据编号 varchar(10), 商品编号 varchar(8), 是否有效 va

admin2018-05-02  14

问题 设在SQL Server 2008某数据库中存在销售单据明细表,其建表语句为:
    CREATE TABLE销售单据明细表(
    销售单据编号  varchar(10),
    商品编号    varchar(8),
    是否有效    varchar(4),
    单价    money,
    数量    int,
    总价    money
    )
    在系统运行一段时间后,此表中有近千万条数据。该系统中存在如下操作:
    select*from销售单据明细表
    where销售单据编号=’135671445’ and商品编号=’021’and是否有效=’是’;
    在系统运行中发现此操作的效率比较低,系统工程师提出如下建议:
    由于查询中使用了“销售单据编号”、“商品编号”和“是否有效”三个条件,因此可以分别在这三列上建立索引,提高查询效率。
随着系统运行时间增长,系统运行速度逐渐变慢,经分析为磁盘IO不能满足数据库系统频繁读写的要求。工程师建议增加一块相同磁盘,将两块磁盘调整为RAID1模式。请从读写两方面分析,此操作是否能够改善磁盘IO问题。

选项

答案从读的方面来看:当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能,也提高了磁盘的存储空间。增加一个RAID1可以提高磁盘的存储空间,在一定程度上提高了读速度,加强了系统的可靠性。但是增加RAID1,系统变成四块硬盘,同时也就增加了系统的I/O开销,当数据量大时,并不能很好地提高系统的读的速度。 从写的方面来看:RAID1磁盘阵列的写入速度通常较慢,因为数据得分别写入两块硬盘中并做比较。现在增加了一块RAID1磁盘阵列,相当于有四块硬盘,在写入数据时,可能会做两个备份,写

解析 RAID1磁盘阵列的特点
    RAID1磁盘阵列级,是一种镜像磁盘阵列,其原理就是将一块硬盘的数据以相同位置指向另一块硬盘的位置。RAID1又称为Mirror或Mirroring,它的宗旨是最大限度地保证用户数据的可用性和可修复性。RAID1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
    RAID1提高了读速度,加强了系统可靠性。但其磁盘的利用率低,冗余度为50%,同时写速度并未提高。RAID1经常要求保证用户数据的可用性和可修复性场所,体现系统的可靠性,而不是读写速度。
    RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。RAID1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它盼性能自然没有RAID0磁盘阵列那样好,但其数据读取确实较单一硬盘来的快,因为数据会从两块硬盘中较快的一块中读出。RAID1磁盘阵列的写入速度通常较慢,因为数据得分别写入两块硬盘中并做比较。RAID1磁盘阵列一般支持“热交换”,就是说阵列中硬盘的移除或替换可以在系统运行时进行,无须中断退出系统。RAIDl磁盘阵列是十分安全的,不过也是较贵一种RAID磁盘阵列解决方案,因为两块硬盘仅能提供一块硬盘的容量。RAID1磁盘阵列主要用在数据安全性很高,而且要求能够快速恢复被破坏的数据的场合。
转载请注明原文地址:https://jikaoti.com/ti/ox37FFFM
0

最新回复(0)