ホームページ データベース mysql チュートリアル SQL Server 2008中使用稀疏列和列集的方法(一)_MySQL

SQL Server 2008中使用稀疏列和列集的方法(一)_MySQL

Jun 01, 2016 pm 02:00 PM
空間

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
 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

機械学習に基づいた数値距離: 空間内の点間の距離 機械学習に基づいた数値距離: 空間内の点間の距離 Apr 11, 2023 pm 11:40 PM

この記事は WeChat 公開アカウント「情報時代に生きる」から転載したものであり、著者は情報時代に生きています。この記事を転載するには、情報時代の暮らしの公開アカウントまでご連絡ください。機械学習では、2 つのサンプル間の類似性とカテゴリ情報を評価するために、2 つのサンプル間の差異をどのように判断するかが基本的な概念です。この類似性を判断する尺度は、特徴空間内の 2 つのサンプル間の距離です。さまざまなデータ特性に基づいた多くの測定方法があります。一般的に言えば、2 つのデータ サンプル x、y に対して、関数 d(x, y) を定義します。これが 2 つのサンプル間の距離として定義される場合、d(x, y) は次の基本特性を満たす必要があります。負性: d(x, y)>=0 恒等式: d(x, y)=0 ⇔ x=y のペア

Ubuntu 22.04 LTSにスワップスペースを追加する方法 Ubuntu 22.04 LTSにスワップスペースを追加する方法 Feb 20, 2024 am 11:12 AM

Linux システムでは、特にシステムのメモリが少ない場合に、スワップ スペースが重要な役割を果たします。これは、システムがスムーズに動作し、高負荷下でも安定性を維持できるようにするバックアップ メモリの保存スペースとして機能します。この記事では、システムのパフォーマンスが最適化され、さまざまなワークロードを処理できるようにするために、Ubuntu 22.04LTS にスワップ領域を追加するための詳細なガイドを提供します。スワップ スペースについて スワップ スペースは、システムの物理 RAM を補足するために使用される仮想メモリを提供します。システムの RAM が不足すると、カーネルはメモリ不足やシステムのクラッシュを防ぐためにデータをディスクにスワップします。 Linux システムは通常、この状況に対処するためにスワップ領域を使用します。メモリを大量に消費する複数のアプリケーションを同時に実行して、非常に大きなファイルやデータを処理します。

Cドライブの空き容量はどれくらいが適切でしょうか? Cドライブの空き容量はどれくらいが適切でしょうか? Jun 27, 2023 pm 02:51 PM

ドライブ c の残りのスペースは 50 ~ 80G がより適切です。システムは将来ジャンク ファイルやキャッシュ ファイルなどを生成するため、ソフトウェアをインストールするときにパスを選択することに慣れておらず、クリーンアップを行わない場合は、C ドライブに少なくとも 50 GB ~ 80 GB のスペースを確保することをお勧めします。コンピュータを頻繁に使用する場合は、少なくとも 100GB が必要です。

win11アップグレードに必要なCドライブの空き容量について紹介 win11アップグレードに必要なCドライブの空き容量について紹介 Dec 23, 2023 am 08:57 AM

ご存知のとおり、システムのインストール完了後にシステム ディスクの占有量が大きすぎると、システムの遅れ、遅延、さらにはファイルの損失が発生する可能性があります。したがって、win11 システムをインストールする前に、win11 のアップグレードに必要な C ドライブの空き容量をエディタで確認してみましょう。 win11 のアップグレードに必要な C ドライブの空き容量: 回答: win11 のアップグレードには、20 ~ 30 GB の C ドライブの空き容量が必要です。 1. Microsoft の win11 構成要件によると、win11 のインストールには 64 GB のハード ドライブ容量が必要であることがわかります。 2. しかし、実際には、一般的には、それほど広いスペースは必要ありません。 3. すでに win11 をインストールしているユーザーからのフィードバックによると、win11 のアップグレードには約 20 ~ 30GB の C ドライブ容量が必要です。 4. しかし、もし私たちのドアにこれしかないとしたら、

Xbox Series S または Xbox Series X のスペースを解放する方法 Xbox Series S または Xbox Series X のスペースを解放する方法 Apr 19, 2023 pm 01:46 PM

Xbox 本体には、ダウンロードしてプレイできるゲームが豊富に揃っています。 Microsoft の Xbox Game Pass サブスクリプションと組み合わせると、ゲーム コレクションの楽しみが止まらなくなります。ただし、ゲームに使用できるスペースの問題があり、Xbox Series S では 356 GB、Xbox Series X では 850 GB です。以前のバージョンのゲームではこれで問題ありませんでしたが、ゲームの最大サイズはおそらく 20 ~ 45 GB の間であり、最近のゲームには当てはまりません。最近入手したゲームはディスク上の多くのスペースを占有し、他のゲームをダウンロードするためのスペースが少なくなります。 ForzaHorizo​​n5 と Halo5Guardians など

iOS 17.2: iPhone 15 Pro で空間ビデオを録画する方法 iOS 17.2: iPhone 15 Pro で空間ビデオを録画する方法 Dec 15, 2023 pm 01:09 PM

iPhone 15 または iPhone 15 Pro Max をお持ちの場合、iOS 17.2 では空間ビデオを録画して、Apple の次期 Vision Pro ヘッドフォンの写真アプリで表示できるようになります。その方法は次のとおりです。 AppleのVisionProヘッドフォンは2024年2月頃に発売される予定だ。それまでは、これに備える 1 つの方法は、iPhone を使用して空間ビデオと呼ばれる特別な形式でビデオを録画し、Apple のヘッドフォンで視聴できるようにすることです。空間ビデオは iPhone で表示すると通常のビデオのように見えますが、VisionPro では 3 次元に近い感覚が得られます。

サイバースペースセキュリティにおける人工知能技術のレビュー サイバースペースセキュリティにおける人工知能技術のレビュー Apr 11, 2023 pm 04:10 PM

1. はじめに 現在のコンピュータ ネットワークの爆発的な成長により、それに伴う問題はネットワーク攻撃の数が急増していることです。政府機関から社会のさまざまな重要インフラに至るまで、私たちの社会のさまざまな部門は、コンピューター ネットワークと情報技術に大きく依存しています。どうやらサイバー攻撃に対しても脆弱であるようです。一般的なネットワーク攻撃では、ターゲット コンピューターが無効になったり、サービスがオフラインになったり、ターゲット コンピューターのデータにアクセスされたりします。 1990 年代以降、サイバー攻撃の数と影響は大幅に増加しました。ネットワーク セキュリティとは、ネットワーク デバイスのアクティビティを保護するために使用される一連のテクノロジーと、考えられるすべての脅威からネットワーク デバイスを保護するための手段を指します。従来のネットワークセキュリティ技術では、そのほとんどが静的なアクセス管理であり、セキュリティ制御システムは事前に設定された定義に基づいて保護します。

Baidu Cloud の容量が足りない場合の対処方法 Baidu Cloud の容量が足りない場合の対処方法 Mar 25, 2024 pm 11:01 PM

クラウド ストレージは私たちの日常生活や仕事に欠かせないものになっています。ファイル数が増加し続けるにつれて、クラウド ストレージ スペースに対する需要がますます顕著になっています。中国の大手クラウド ストレージ サービス プロバイダーとして、Baidu Cloud は強力なストレージ機能と便利な操作体験でユーザーの支持を得ています。しかし、多くのユーザーは使用中に容量不足の問題に遭遇するかもしれないので、このチュートリアルでは容量を拡張するための詳細な解決策を提供します。 1. Baidu Cloud のアカウントにログインします。 (BaiduアカウントまたはQQアカウントでログインできます) 2.ログイン後、Baidu Cloudの左側にある「2048G容量を無料で受け取る」をクリックします。 3. Baidu Cloud モバイル クライアントをダウンロードします。Android スマートフォン用にクリックしてダウンロードします。

See all articles