SQL Server 2008中使用稀疏列和列集的方法(一)_MySQL
SQLServer2008
尽管存储的成本已经很低了,但是我们仍然需要考虑使用多种技术(例如压缩和存档)来节省空间。当你思考怎样节省空间时,你第一个想到的是文件系统,但是空间节省也可以用在数据库。当我们创建一个数据库时,我们确保数据文件具有合适的大小和增长速度。
我们定期分析我们的数据库规模并执行缩小操作。我们可能执行这些任务用于不同的目的,但是有一个方面是相同的,这些任务帮助我们确保我们的数据库具有最佳的存储。Microsoft SQL Server为我们提供了用于降低数据库所用空间的各种技术。SQL Server 2008推出了一个用于定位可为空字段的技术,它为可为空字段提供了最佳的存储。在SQL Server 2008中的这个新特性就是稀疏列。这篇文章不会讲述很多关于稀疏列的特性,它介绍了具有列集的稀疏列的使用,以及在使用它们时你需要了解和考虑的事情。
这篇文章描述:
◆什么是稀疏列?
◆什么是列集?
◆在一个列集中插入和更新数据。
◆使用触发器跟踪变更。
◆对列集实施安全。
什么是稀疏列?
稀疏列是一个普通字段,就像其它字段一样,但是它降低了对空值的存储要求。一个可为空字段可以在表创建或修改时添加SPARSE关键字来成为稀疏列。如果一个列是稀疏列,那么SQL Server不会为空值分配空间。注意,在使用这个特性时它会增加对非空值数据提取的花费。因此你需要计算可以节省的空间来仔细地对字段应用这个特性。推荐只在空间至少可以节省20%至40%时使字段成为稀疏列。BLO提供了一个包含字段中每个数据类型所需空值百分比的表,以便使这些字段成为稀疏列。
什么是列集?
列集是一个显示所有稀疏列的字段,它作为一个XML类型的字段添加到表中。它不是物理上存在于这个表中的,它只像是一个计算出来的字段,但是它允许你对它进行修改。推荐你只在有很多稀疏列时使用列集,因为如果使用了列集而不是使用各个稀疏列,那么它会加快修改和提取。
下面的代码显示了为一个表创建一个列集的方法。
代码1:创建一个具有稀疏列和一个列集的表。
CREATE TABLE [dbo].[Customers]
(
[Id] int PRIMARY KEY,
[FirstName] varchar(50) NOT NULL,
[LastName] varchar(50) NOT NULL,
[Gender] bit SPARSE NULL, -- 1 = male, 2 = female
[Telephone] varchar(15) SPARSE NULL,
[MonthlyIncome] money SPARSE NULL,
[Comments] varchar(1000) SPARSE NULL
[AllSparseColumns] xml COLUMN_SET FOR ALL_SPARSE_COLUMNS
)
我为所有可为空字段添加了SPARSE关键字,但是如同我前面提到的,应该在使它们成为稀疏列之前分析空值所占百分比。注意,当你创建这个表时你需要添加这个字段。SQL Server 不允许你没有稀疏列的情况下拥有列集字段。之后添加为稀疏列的字段可以使用添加的列集,看下面的代码:
代码2:创建具有一个列集的表,不使任何字段成为稀疏列。
-- adding column set without sparse columns
CREATE TABLE [dbo].[Customers_1]
(
[Id] int PRIMARY KEY,
[FirstName] varchar(50) NOT NULL,
[LastName] varchar(50) NOT NULL,
[Gender] bit NULL, -- 1 = male, 2 = female
[Telephone] varchar(15) NULL,
[MonthlyIncome] money NULL,
[Comments] varchar(1000) NULL,
[AllSparseColumns] xml COLUMN_SET FOR ALL_SPARSE_COLUMNS
)
-- inserting a record
INSERT INTO dbo.Customers_1
([Id], [FirstName], [LastName], [Gender], [Telephone], [MonthlyIncome], [Comments])
VALUES
(1, 'Dinesh', 'Priyankara', 1, '777395871', 20000, 'no comments')
-- this returns null
SELECT AllSparseColumns FROM dbo.Customers_1
-- Make the Gender column as a sparse column
ALTER TABLE [dbo].[Customers_1]
ALTER COLUMN [Gender] bit SPARSE NULL
GO
-- Make the Telephone column as a sparse column
ALTER TABLE [dbo].[Customers_1]
ALTER COLUMN [Telephone] varchar(15) SPARSE NULL
-- Now it returns values of sparse columns as a xml
SELECT AllSparseColumns FROM dbo.Customers_1

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 WeChat 공개 계정 "정보 시대에 살기"에서 재인쇄되었습니다. 저자는 정보 시대에 살고 있습니다. 이 기사를 재인쇄하려면 Living in the Information Age 공개 계정에 문의하세요. 머신러닝에서는 두 샘플 간의 차이를 판단하는 방법을 기본 개념으로 하여 두 샘플 간의 유사성과 카테고리 정보를 평가할 수 있습니다. 이러한 유사성을 판단하는 척도는 특징 공간에서 두 샘플 사이의 거리입니다. 다양한 데이터 특성에 따라 다양한 측정 방법이 있습니다. 일반적으로 두 데이터 샘플 x, y에 대해 함수 d(x, y)를 정의합니다. 두 샘플 사이의 거리로 정의되면 d(x, y)는 다음 기본 속성을 충족해야 합니다. 부정성: d(x, y)>=0 동일성: d(x, y)=0 ⇔ x=y 쌍

스왑 공간은 Linux 시스템에서 중요한 역할을 하며, 특히 시스템의 메모리가 부족한 경우 더욱 그렇습니다. 높은 부하에서도 시스템이 원활하게 실행되고 안정성을 유지할 수 있도록 도와주는 백업 메모리 저장 공간 역할을 합니다. 이 문서에서는 시스템 성능이 최적화되고 다양한 작업 부하를 처리할 수 있도록 Ubuntu 22.04LTS에 스왑 공간을 추가하는 방법에 대한 자세한 가이드를 제공합니다. 스왑 공간 이해 스왑 공간은 시스템의 물리적 RAM을 보완하는 데 사용되는 가상 메모리를 제공합니다. 시스템의 RAM이 부족하면 커널은 메모리 부족 및 시스템 충돌을 방지하기 위해 데이터를 디스크로 교환합니다. Linux 시스템은 일반적으로 이러한 상황을 처리하기 위해 스왑 공간을 사용합니다. 여러 메모리 집약적 애플리케이션을 동시에 실행하여 매우 큰 파일이나 데이터를 처리합니다.

c 드라이브의 남은 공간은 50-80G가 더 적합합니다. 향후 시스템에서 정크 파일, 캐시 파일 등이 생성되므로 소프트웨어 설치 시 경로 선택에 익숙하지 않고 정리하지 않는 경우 C 드라이브용으로 최소 50GB~80GB의 공간을 확보하는 것이 좋습니다. 컴퓨터를 자주 사용하는 경우 최소 100GB가 필요합니다.

우리 모두 알고 있듯이 시스템 설치가 완료된 후 차지하는 시스템 디스크가 너무 크면 시스템 지연, 지연 및 파일 손실이 발생할 수 있습니다. 따라서 win11 시스템을 설치하기 전에 win11을 업그레이드하는 데 필요한 C 드라이브 공간이 얼마나 되는지 알아야 합니다. win11을 업그레이드하는 데 필요한 C 드라이브 공간: 답변: win11을 업그레이드하려면 20-30GB의 C 드라이브 공간이 필요합니다. 1. Microsoft의 win11 구성 요구 사항에 따르면 win11 설치에는 64GB의 하드 드라이브 공간이 필요함을 알 수 있습니다. 2. 그러나 실제로는 일반적으로 이렇게 큰 공간이 필요하지 않습니다. 3. 이미 win11을 설치한 사용자의 피드백에 따르면 win11 업그레이드에는 약 20-30GB의 C 드라이브 공간이 필요합니다. 4. 하지만 우리 문에

Xbox 콘솔에는 다운로드하고 플레이할 수 있는 다양한 게임이 있습니다. Microsoft의 Xbox Game Pass 구독과 함께 게임 컬렉션의 재미가 멈추지 않습니다. 하지만 Xbox Series S의 경우 356GB, Xbox Series X의 경우 850GB에 달하는 게임용 공간 문제가 있습니다. 이전 버전의 게임에서는 문제가 없었지만 게임의 최대 크기는 아마도 20GB에서 45GB 사이였을 것입니다. 최근 게임에서는 그렇지 않습니다. 최근에 사용 가능한 게임은 결국 디스크 공간을 많이 차지하게 되어 다른 게임을 다운로드할 수 있는 공간이 줄어듭니다. ForzaHorizon5 및 Halo5Guardians 등

iPhone 15 또는 iPhone 15 Pro Max를 사용하는 경우 iOS 17.2를 사용하면 곧 출시될 Apple Vision Pro 헤드폰의 사진 앱에서 볼 수 있도록 공간 비디오를 녹화할 수 있습니다. 방법은 다음과 같습니다. Apple의 VisionPro 헤드폰은 2024년 2월경에 출시될 것으로 예상됩니다. 그때까지 이를 준비할 수 있는 한 가지 방법은 iPhone을 사용하여 Apple 헤드폰에서 볼 수 있는 공간 비디오라는 특수 형식으로 비디오를 녹화하는 것입니다. 공간 비디오는 iPhone에서 볼 때 일반 비디오로 나타나지만 VisionPro에서는 거의 3차원에 가까운 비디오를 제공합니다.

1. 서론 현재 컴퓨터 네트워크의 폭발적인 성장으로 인해, 그에 따른 문제는 네트워크 공격의 수가 급증하고 있다는 점이다. 정부 부서부터 사회의 다양한 주요 인프라에 이르기까지 우리 사회의 다양한 부문은 컴퓨터 네트워크와 정보 기술에 크게 의존하고 있습니다. 분명히 그들은 사이버 공격에도 취약합니다. 일반적인 네트워크 공격은 대상 컴퓨터를 비활성화하거나, 서비스를 오프라인으로 전환하거나, 대상 컴퓨터의 데이터에 액세스합니다. 사이버 공격의 횟수와 영향은 1990년대 이후 크게 증가했습니다. 네트워크 보안은 네트워크 장치 활동을 보호하는 데 사용되는 일련의 기술과 가능한 모든 위협으로부터 이를 보호하기 위한 조치를 의미합니다. 기존 네트워크 보안 기술에서는 대부분 정적 액세스 관리이며 보안 제어 시스템은 미리 설정된 정의에 따라 보호합니다.

휴대폰을 점점 더 자주 사용함에 따라 많은 사용자는 휴대폰에 저장 공간이 부족하여 일부 애플리케이션이 제대로 실행되지 않거나 휴대폰의 전반적인 성능에 영향을 미칠 수 있습니다. Toutiao 검색의 빠른 버전 사용자의 경우 캐시된 콘텐츠가 너무 많을 수 있습니다. 그러면 휴대전화에 공간이 부족하다는 메시지가 표시되면 어떻게 해야 할까요? 그런 다음 와서 편집자를 따라 아래를 정리하십시오! Toutiao Search Express Edition의 공간이 부족하면 어떻게 해야 합니까? 답변: 공간을 확보하세요. 공간을 정리하는 방법: 1. 먼저 Toutiao Search Express Edition 소프트웨어를 열고 소프트웨어 홈페이지에 들어가서 오른쪽 하단에 있는 [내]를 클릭합니다. 2. 그런 다음 내 페이지 하단으로 슬라이드하여 [시스템 설정]을 찾습니다. 기능을 클릭합니다. 3. 그런 다음 시스템 설정 페이지에서 [캐시 지우기]를 클릭합니다.
