Persisted Computed Columnの計算にユーザー定義関数を用いるとパフォーマンスに悪影響がある

良かれと思ってやったのですが

今までComputed Columnの例ではロジックを分ける意味で、ユーザー定義関数を用いていました。

mrgchr.hatenablog.com

続きを読む

Persisted Computed Columnがなぜか不明瞭になった件

何故これがダメなのかが分からない

先日の消費税計算のComputed Columnを、Persisted指定したら何故かエラーになりました。

テーブル 'Orders' の計算列 'SalesTax' を保存できません。この列は不明確です。

これを解決します。

続きを読む

ScreenToGifが便利

Gifスクリーンキャプチャをもっと便利に使おう

ScreenToGifというソフトが今まで使っていたGifキャプチャよりも便利だったのでお知らせします。

www.screentogif.com

続きを読む

Computed Columnの計算結果は別のComputed Columnで参照できない

ので、Viewを使おう

タイトルそのまんまなのですが、SQL ServerのComputed Columnの計算結果は別のComputed Columnで参照するとエラーになります。

続きを読む

Persisted Computed ColumnはComputed ColumnよりもSelectが本当に速いのか

本当に速いのか

前回の記事で、SQL ServerのComputed Columnについて、「Persisted Computed Columnの方が当然Selectは速くなる」と書きましたが、Webの情報を鵜呑みにして書いただけで未検証でした。

mrgchr.hatenablog.com

というわけで確認してみました。

続きを読む

SQLServerのComputed Column(計算列)についての備忘録

Computed Column(計算列)について調べました。

Computed Column(計算列)は、SQLServerにて利用できる、テーブルの他の列のデータを元に値を計算する仮想列です。
たとえば、下記のテーブル定義では、FullName列が計算列となります。

CREATE TABLE [dbo].[Accounts]
(
    [Id] INT NOT NULL IDENTITY,
    [FirstName] NVARCHAR (50) NOT NULL,
    [LastName] NVARCHAR (50) NULL,
    [LastNameComesFirst] BIT DEFAULT (0) NOT NULL,
    [FullName] AS (
        CASE WHEN [LastName] IS NULL THEN [FirstName]
             WHEN [LastNameComesFirst] = 0 THEN concat([FirstName], N' ', [LastName])
             ELSE concat([LastName], N' ', [FirstName])
        END), 
    CONSTRAINT [PK_Accounts_Id] PRIMARY KEY ([Id] ASC),
)
続きを読む

「エゴを抑える技術」を読んだ

『エゴを抑える技術』を読みました。
技術というよりは「心得」の方がしっくりくると思いますが、内容は素晴らしかったです。

エゴを抑える技術

エゴを抑える技術

続きを読む