問題タブ [space-efficiency]
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.
php - 最も効率的なデータベースの日付保存方法は?
そのため、SQLデータベースに日付を保存しようとしていますが、最も効率的な方法がわかりません。私は2つの異なる方法を考えました。
第一に、人々は毎日一定の価格を設定できるようになります。
例えば:
2011年3月8日:$ 1
2011年3月9日:$ 2
2011年3月10日:$ 5
私のデータベースでは、UNIXタイムスタンプを保存するか、月、日、年を別々のフィールドに保存することを考えていました。
最初の方法:
UNIXタイムスタンプ
長所
- 1つのフィールドのみ
短所
- 日付をタイムスタンプに変換する必要があります
- 開始日と終了日の間で検索する必要があります
- 検索でエラーが発生しやすい
月日年
長所
- 検索が簡単
短所
- その他のフィールド
- より多くのスペースを占める
- 大量のデータを保存するため、データベースの速度が低下する可能性があります。
上記の情報で、あなたの推薦は何ですか?(これのいずれかが明確でないかどうかを明確にすることができます。)
c - 配列と配列ポインタをCの関数に渡すことの違い
Cの2つの関数の違いは何ですか?
かなり長い配列で関数を呼び出す場合、これら2つの関数の動作は異なりますか?スタック上でより多くのスペースを使用しますか?
php - 推奨される SQL の種類と長さ
私は SQL を初めて使用し、マルチプレイヤー ゲームのアカウント情報を格納するテーブルに取り組んでいます。大量のデータを保存する最も効率的な方法は何だろうと思っています。
これらの 3 つのコラムについては、私はすでにそれを理解していると思います。
これについてあなたはどう思いますか?
それに加えて、より柔軟なデータ (セーブデータ) がたくさんありますが、これは私には予測できません。このデータを TEXT 型のフィールドに XML データとして保存するのは賢明でしょうか? または、(PHP を使用して) 保存するより良い方法はありますか?
ありがとう。ロブ
database-agnostic - データベースアプリケーション-オンザフライで保存または計算しますか?
ItemName、Quantity、UnitPrice、Amountのフィールドを持つ購入リストのテーブルがあります。AmountはQuantity*UnitPriceに等しいことに注意してください。
私の単純な問題は、データを取得するときに金額を保存するか、計算する必要があるかということです。保管または処理について、何を心配する必要がありますか?
sql - OracleSQL-大規模なcaseステートメントを整理するためのより効率的な方法はありますか
現在、さまざまな種類のドキュメントを調べたレポートがあります。各ドキュメントには、完了する必要のあるタイムスケールが割り当てられています(つまり、2日、4日など)。100種類以上のドキュメントがあります。現在、各ドキュメントに割り当てられたこのタイムスケールは、Excelスプレッドシートに保持され、vlookup式(評価IDに基づく)を使用してExcelのデータと照合されます。残念ながら、この割り当てられたタイムスケールを配置する場所はデータベースにありませんが、Excelでこの余分な操作を行うことなく、データベースからレポートを実行してユーザーに送信できるようにしたいと思います。大規模なcaseステートメントを書くことでこれを達成できることを私は知っています(以下は単なる例です)
すなわち
しかし、SQLでこれを行うより効率的な方法があるかどうか疑問に思いました(これを記録するためにデータベースに追加のフィールドを要求する以外に!)?ないかもしれませんが、聞いてみる価値はあると思いました!ありがとう。
java - 文字列のメモリと速度の効率的な検索
String
高速検索が必要なものがたくさんあります。各文字列は22文字の長さで、最初の12文字(いわば「キー」)によってのみ検索され、文字列の完全なセットが定期的に再作成されます。それらはファイルからロードされ、ファイルが変更されると更新されます。使用可能なメモリが少なすぎるため、VPS上の他のサーバープロセスでもメモリが必要であり、さらに多くのメモリが必要です。
文字列を保存して検索するにはどうすればよいですか?
私の現在のアイデアは、(RAMを節約するために)それらを次々に(RAMを節約するために)格納し、より高速なルックアップのためにソートすることです(バイナリ検索または補間char[]
検索を使用できるように、事前にソートしておくとルックアップが最も速くなると思います)。しかし、私はそれをどのようにコーディングすべきか正確にはわかりません-誰かが挑戦的なパズルの気分になっているなら:ここにあります...
ところで:レクリエーション/並べ替え中にしばらくの間メモリの制約を超えても大丈夫ですが、それほど長くはないはずです。
ありがとう!
アップデート
「詳細を知りたい」群衆の場合(Javaの詳細が間違っている場合は訂正してください):ソースファイルには約320000エントリ(すべてANSIテキスト)が含まれていますが、本当に(WAY!)64MB未満にとどまりたいですRAMの使用量とデータは私のプログラムの一部にすぎません。メモリ内のJavaタイプのサイズに関する情報を次に示します。
私のVPSは32ビットOSなので、...
- 1つ
byte[]
、すべて連結=12+長さバイト - 1つ
char[]
、すべて連結=12+長さ*2バイト String
= 32+長さ*2バイト(オブジェクトであり、char[]
+ 3を持ちますint
)
だから私は記憶に留めておかなければなりません:
- すべてがに保存されている場合は最大7MB
byte[]
- すべてがに保存されている場合は最大14MB
char[]
- すべてがに保存されている場合は最大25MB
String[]
- > HashTable / Mapに保存されている場合は40MB以上(おそらく初期容量を微調整する必要があります)
HashTableは魔法ではありません-挿入に役立ちますが、原則として、hashCodeモジュラス容量がインデックスとして使用される非常に長い文字列の配列であり、データはインデックスの次の空き位置に格納され、線形の場合は検索されますルックアップで見つかりませんでした。ただし、ハッシュテーブルの場合、ルックアップ用に文字列自体と最初の12文字のサブ文字列が必要になります。私はそれを望んでいません(または私はここで何かを逃しますか?)、ごめんなさい人々...
algorithm - 文字列の文字頻度計算
特定の文字列の文字頻度を計算するための最も効率的な (時間と空間) アルゴリズムを探しています。
頭に浮かぶ最も単純なアルゴリズムは、検索するフラグ配列 (サイズ = 異なる文字の数) を用意し、対応するインデックスのカウンターをインクリメントすることです。これは線形時間で機能します。これに関する唯一の問題は、フラグ配列のスペース要件です。すべての ASCII 文字が必要な場合、最大 256 になる可能性があります。
スペース/時間を節約できるより良いアルゴリズムはありますか?
image - 印刷ページを1つのメイン画像とスケーリングされたパディング画像で最も効率的に埋める方法は?
縦横比が 1.7:1 から 8:1 のパノラマを印刷しています。一般的なケースは、標準の 12 x 18 インチのページに 4 インチを残して 18 インチ x 8 インチに拡大する画像です。紙には非常に多くのサイズしかありませんが、私の画像はほぼすべてのサイズに対応しています。
私は 4x18 インチの印刷スペースを無駄にするのが嫌いで、余白やゆがみを最小限に抑えて部屋の大部分を占めるように拡大縮小できる他のストック画像を探しています。私は自分のウェブサイトと著作権をそれらに置き、それらを名刺として使用しています.
印刷の仕事をするたびに、新しい創造的な組み合わせを見つけなければなりません。誰かがすでにこの猫の皮を剥いでいるようです。数時間検索しましたが、アルゴリズムへの参照が見つかりません。
画像ファイルの仕様とページ サイズを取得し、ページに合わせてスケーリングし、空白を計算し、空白の縦横比を取得する小さな半高速 (?) スクリプトを作成しました。次に、おおよそその AR を持つストック画像を探し、収まるようにスケーリングします。
収まる画像が 1 つもない場合は、収まる 2 つの画像を探します。私は 3 まで使用しました。
数ドル相当の紙を節約するために、なぜ何時間も費やすのでしょうか? 一部のプリントはかなりボリュームがあり、一部は3フィート以上でプリントされているため、合計できます. さらに、実際の製品を人々の手に渡すために配布できる無料のギムを取得します。
また、一部のパノラマは最大 34 枚の HDR 画像を使用し、それぞれを一致させるために手動で Photoshop で処理する必要があり、各 HDR 画像は通常 7、36 MPix、D800E 画像です。はい、1 つの巨大なパノラマを作成するには、238 もの個別の NEF ファイルと数兆の CPU サイクルが必要です。
私はすでに各写真に多くの時間を費やしており、パックされたマスターを作成したら、それ以降はそれを使用して、サイズを合わせて調整できます. 約 30% の廃棄物を有用な製品に変換することで、収益に直接貢献します。
うなり声の計算と組み合わせが完了したら、ImageMagick を使用してその場でスケーリングし、目の前でフラッシュして、最も好きなものを選択できるようにするのは非常に簡単です。面白いかもしれません。
最も重要なことは、これは知的な挑戦であり、これまでのところ良い解決策を見つけられていないことです.
何か案は?
sqlite - SQLite-外部キーはint列よりも効率的ですか?
私はテーブルを持っています:
ここscore
で、はパーセンテージです。
そこに整数値を含めるか、このような単なるテーブルであるテーブルへの外部キーを含める方が効率的ですか?
明らかに、テーブルには0〜100が入力されます。
私の考えでは、1000人の生徒がいる場合、整数列として保持するとクエリは高速になりますが、使用されるスペースが多いほど、外部キーを使用すると使用されるスペースは少なくなりますが、クエリは遅くなります。
これが正しいかどうかわかりませんか?
だから私はそれをそこに捨てると思いました!
c# - コピーなしのC#配列スライス
C# 配列のサブセットをメソッドに渡したいと思います。メソッドがデータを上書きするかどうかは気にしないので、コピーの作成を避けたいと思います。
これを行う方法はありますか?
ありがとう。