この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 30236|答える: 1

[出典] EFは主キーIdをguidの自己成長型に設定します

[リンクをコピー]
掲載地 2016/11/04 13:27:38 | | | |


事業体コードは以下の通りです:



挿入コードは以下の通りです:



nameの値だけを設定し、idには値を与えません。生成されたSQL文を見てみましょう??? 、は以下の通りです:

exec sp_executesql N'DECLARE @generated_keys table ([Id] uniqueidentifier)
[dbo]を挿入してください。 [テストタブ]([名前])
出力挿入。 [id] イントゥ・@generated_keys
値 (@0)
選択 t.[id]
@generated_keysより AS g 参加 [DBO]。 [テストタブ] As t on g.[id] = t.[id]
ここで @@ROWCOUNT > 0', N'@0 nvarchar(32)', @0=N' 建築家www.itsvse.com'


INSERT TestTabテーブルはNameフィールドのみを挿入していることがわかりましたが、Idにはデフォルト値がありますか??? 私たちは

efはIdの主キーのデフォルト値タイプ、デフォルト値またはバインディング「(newsequentialid())」の設定を手伝ってくれ、以下のように紹介されるnewsequentialid()関数も使いました。


1.:newsequentialid関数の最大の利点は、UNIQUEIDENTIFIERフィールドでインデックスを作成する場合、newidで生成される新しい値は固定されず、新しい値によってインデックスB+ツリーの変化がランダムになることです。 もしニュースエクエンティアリッドによって生成される新しい値が正則であれば、インデックスB+木の変化は正則となります。 規則性と不規則性がパフォーマンスの向上につながります。

2: UNIQUEIDENTIFIERは主キーとして非常に便利な機能であり、データマージなどの操作において代えがたい利点があります
しかし、通常のGUIDの分散化により、クラスタ化されたインデックスに主キーを追加すると、レコード挿入時の効率が大幅に低下します

SQL SERVER 2005はNEWSEQUENTIALIDという新しい関数を追加しており、MSDNはこれを説明しています:
指定されたマシン上で、関数で生成されたどのGUIDよりも大きいGUIDを作成します。
NEWSEQUENTIALID() はクエリ内で参照できません。
注:これはデータベース列のデフォルト値としてのみ使用でき、SELECT NEWSEQUENTIALID()のような文を実行できないことを意味します。
NEWSEQUENTIALID()によって生成されるGUIDは、そのコンピュータにネットワークカードがない場合に限り一意です。
注:この文は間違っています。コンピュータがネットワークカードを持っている場合にのみ、生成されたGUIDは世界で一意であるべきです
NEWSEQUENTIALID()を使ってGUIDを生成し、リーフレベルのインデックスでのページの競合を減らすことができます。





先の:EasyUIコントロールタブにはトグル機能が追加されます
次に:c#/.Net コレクションのレイヤー別値
掲載地 2018/02/01 10:43:26 |
はいありがとうございます! 大家の技術はとても難しい! つらい
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com