問題タブ [varchar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL 電子メール フィールドの長さはどのくらいですか?
メールアドレスは基本的に無限に長くなる可能性があるため、varchar メールアドレスフィールドに課すサイズは任意になることを認識しています。しかし、「基準」とは何だろう?皆さん、どれくらいで出来ますか?(名前フィールドについても同じ質問...)
更新:どうやらメール アドレスの最大長は 320 です (<= 64 の名前の部分、<= 255 のドメイン)。これを使いますか?
mysql - VARCHAR(20000) は MySQL で有効ですか?
MySQL の varchar フィールドの最大長を明確にする必要があります。
私は常に最大長が 255 だと思っていました (255 とは? 私が想定した文字ですが、これは私の混乱の原因かもしれません)。私たちが協力している外部企業によってセットアップされたデータベースのテーブルを見ると、255 文字を超える xml のチャンクを保持する varchar(20000) としてフィールドがセットアップされていることがわかります。なぜこれが機能するのですか?20000 は有効な値ですか?
少しグーグルで調べたところ、mysql では varchar に 65,535 バイトの制限があり、varchar(65535) in useが表示されていることがわかりましたが、255 の制限はこれとどのように関連していますか?
sql - hibernate での varchar および nvarchar へのマッピング
データベースに 2 つの列がある場合。
コードで検索するために varchar を渡すように hibernate に指示する方法は?
休止状態のマッピングでは、文字列が nvarchar にマップされ、次のようなクエリが生成されます。
これは、インデックス シーク操作ではなくインデックス スキャンを引き起こすため、非常に悪いことです (要求されたインデックス ノードに直接移動するのではなく、すべてのインデックス ノードをスキャンします)。
コードは数百万の行といくつかのインデックスおよび外部キーで使用されるため、varchar から nvarchar に変更するとパフォーマンスが低下します (nvarchar は varchar の 2 倍のスペースを使用するため、より多くの IO 操作が行われます)。
Javaタイプではなく、データベースタイプに従ってマッピングを行うようにhibernateに指示する方法はありますか?
ありがとう
oracle - SQLのvarcharのnextvalシーケンス?
nextval
値のシーケンスを作成する方法があるかどうか疑問に思っていましたvarchar
か? iSQL プラス、オラクルを使用しています。たとえば、、、、、で構成される販売テーブルsale_id
がありprod_id
ます。ここで、次のようにしてデータを挿入します。cust_name
sale_name
sql - Nvarcharまたはvarchar2の乗算または丸められた完全な数値を使用する方がよいのは何ですか?
私の質問は、SQLで列を生成する際に何を使用するのが良いかということです。nvarchar(varchar)のサイズを2(32、64、128)の乗算にする必要がありますか、それとも問題ではなく、完全な数値の例「100」、「50」を使用できますか?
理由のある回答ありがとうございます
皆さんこんにちは
mysql - mysql 7columns pk と 1 列 md5 の一意の制約
現在、約 7,000 万行の非常に大きなテーブルがあり、毎日数千単位で増加しています。このスキーマは毎日ひっくり返っているため、パーティション分割されたテーブルに移動して ddl を再設計しています。
テーブルは基本的にNOT NULL INTEGERS(いくつかの中型、いくつかのINT、いくつかの小さな)のコレクションであり、7列のセットに対して一意の制約が必要です(テーブルにはより多くの列があります)。これは、挿入ごとに計算するのに非常に高価であり、増加しますインデックスファイルのサイズは、私はそれを取得したことがないので、それをドロップして、何とかmd5/多分単純に値を連結することを好みます...まだわかりません.
問題は、このような大きな一意の番号を保持できる唯一の列タイプが varchar であることです。この PK が実際に優れているかどうか疑問に思っています。また、PRIMARY KEY 'part_key' (site_id,id) があるため、要約すると、パーティションの設計で一意の制約を使用する必要があります...これは新しい問題ではないと確信していますが、私はそうではありませんでした。 2つを比較するベンチマーク/ドキュメントを見つけることができません.この問題を経験した人はいますか? 問題は、私がPKまたは一意のフィールドのハッシュ値だけで取得していない場合、PKが8つのフィールド全体である必要があることです(このテーブルにはおそらく1億行以上あることに注意してください) PS:取得は主に7 列のうち 2 列で実行 ディスク サイズは問題ではありません。
database - 127未満でない限り、SQLフィールドの長さが常に(2^n)-1なのはなぜですか?
多くのデータベース スキーマは、次の標準に従っているようです。
(2^n)-1大きいフィールドの場合:
...小さい方は(2^n)
(2^n)-1 という数値が使用される理由は理解できますが、理解できないのは、小さなフィールドまでトレンドを継続する必要がない理由です。
例えば
これには何か理由があるのでしょうか、それとも単にリターンが大幅に減少しただけなのでしょうか?
mysql - MySQLVARCHARサイズ制限
タイプのフィールドを持つテーブルに列がありVARCHAR(15)
、長さ16のデータを挿入しようとすると、MySQLは次のようなエラーを出します。
MySQLのVARCHARフィールドが固定長になる理由を誰かが知っていますか?また、指定されたサイズに基づいて、VARCHARフィールドはレコードごとに何バイトを使用しますか?
postgresql - PostgreSQLサーバーが「C」ロケールを使用しているかどうかはどうすればわかりますか?
PostgreSQL 8.3 DBテーブルを最大限に最適化しようとしていますが、文字列の最初のN文字に対してvarchar_pattern_ops
実行している特定の列に使用する必要があるかどうかわかりません。このドキュメントLIKE
によると、の使用は「...サーバーが標準の「C」ロケールを使用しない場合」にのみ必要です。xxx_pattern_ops
誰かがこれが何を意味するのか説明できますか?データベースが使用しているロケールを確認するにはどうすればよいですか?
sql-server - インライン varchar(max) 列を使用するか、別のテーブルに格納する必要がありますか?
特定のシステム操作の詳細を記録するために、MS SQL Server 2005 でテーブルを作成したいと考えています。以下のテーブル デザインからわかるように、Details
is 以外のすべての列は null 不可です。
Details
列に常にデータが含まれているとは限らないためです。この列を別のテーブルに格納し、代わりにリンクを提供する方が効率的ですか?
小さいデータ型の場合はあまり考慮しませんが、varchar(max)
これを行うとテーブルのサイズを小さく保つのに役立ちますか? それとも、データベースを賢くしようとしているだけで、何も達成していませんか?