問題タブ [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.
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)
これを行うとテーブルのサイズを小さく保つのに役立ちますか? それとも、データベースを賢くしようとしているだけで、何も達成していませんか?
sql - varchar(-1) とはどういう意味ですか?
SQL Server 2008 での varchar(-1) の意味は何ですか? varchar(max) の代替ですか?
sql-server-2008 - varchar(max) の文字数は?
データ型が VARCHAR(MAX) の場合、SQL Server 2008 データベース フィールドには何文字を含めることができますか?
sql - DB2 varchar インデックス結合
DB2 の場合...
table1.a は varchar(30) で、インデックスがあります。table2.b は varchar(45) で、インデックスがあります。
table1.a = table2.b
table1、table2、またはその両方でインデックスを使用しますか?
両方のインデックスを使用する必要があることは明らかですが、私はsybaseを信じているので質問しています.これはインデックスの1つだけを使用します(どちらかわかりません)。
私はこれを完全にテストするつもりですが、現在はできません。
sql - ケース...mysqlで文字列を使用する場合
こんにちは私はのようないくつかのクエリが欲しいです
column2には、varcharが格納されています。誰かがこれを手伝ってくれますか?
mysql - MySQL エラー #1071 - 指定されたキーが長すぎます。キーの最大長は 767 バイトです
次のコマンドを実行したとき:
次のエラー メッセージが表示されました。
column1 と column2 に関する情報:
501バイトしか必要とvarchar(20)
しないのに、21バイトしか必要ないと思います。varchar(500)
したがって、合計バイト数は 522 で、767 未満です。では、なぜエラー メッセージが表示されたのでしょうか?