問題タブ [indexing]
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 - インデックスは「IN」句で機能しますか
次のようなクエリがある場合:
フィールドにインデックスがありEmployeeTypeId
ますが、SQLサーバーは引き続きそのインデックスを使用しますか?
indexing - ドメイン モデルの変更に合わせて Lucene インデックスを最新の状態に保つための戦略
アプリケーションのドメイン モデル オブジェクトに変更が加えられたときに Lucene インデックスを最新の状態に保つことについて、人々の考えを知りたいと考えていました。
問題のアプリケーションは、Hibernate を使用する Java/J2EE ベースの Web アプリです。私が現在取り組んでいる方法は、Hibernate マップ モデル オブジェクトがすべて、Lucene に記録されたキーと値のペアのセットを返すことができる共通の「インデックス可能」インターフェイスを実装することです。そのようなオブジェクトを含む CRUD 操作が実行されるたびに、JMS キューを介してメッセージ駆動型 Bean に送信します。メッセージ駆動型 Bean は、Lucene にオブジェクトの主キーと、そのオブジェクトの index( ) メソッドから返されたキーと値のペアを記録します。提供された。
このスキームに関する私の主な懸念は、MDB が遅れて、入ってくるインデックス作成操作に追いつかないか、何らかのエラー/例外がオブジェクトのインデックス作成を停止するかどうかです。その結果、一定期間、または長期間にわたって古いインデックスが作成されます。
基本的に、私は、この種のことに対して他の人がどのような戦略を思いついたのか疑問に思っていました. 必ずしも1つの正解を探しているわけではありませんが、「ホワイトボード」のようなアイデアのリストを想像して、脳に代替案を考えさせています.
database - 多対多テーブルの 1 つまたは 2 つの主キー?
私のデータベースには、多対多の関係を持つ次のテーブルがあります。これは、各メイン テーブルの主キーへの外部キーを持つ接続テーブルによって表されます。
- ウィジェット: WidgetID (PK)、タイトル、価格
- ユーザー: UserID (PK)、FirstName、LastName
各ユーザー ウィジェットの組み合わせは一意であると想定します。データ関係を定義する接続テーブルを構築する方法について、次の 2 つのオプションがあります。
- UserWidgets1: UserWidgetID (PK)、WidgetID (FK)、UserID (FK)
- UserWidgets2: WidgetID (PK、FK)、UserID (PK、FK)
オプション 1 には、主キーの列が 1 つあります。ただし、テーブルに格納される唯一のデータは 2 つのプライマリ テーブル間のリレーションシップであり、このリレーションシップ自体が一意のキーを形成できるため、これは不要に思えます。したがって、2 列の主キーを持つオプション 2 につながりますが、オプション 1 が持つ 1 列の一意の識別子が失われます。オプションで、2 列の一意のインデックス (WidgetID、UserID) を最初のテーブルに追加することもできます。
UserWidgets の多対多テーブルを構築するために、パフォーマンスに関して 2 つの実際の違い、または一方のアプローチを他方より優先する理由はありますか?
indexing - HTML ヘルプのキーワードの場所
私はマニュアルを書いていますが、いくつかの重要なキーワードが数ページにわたって繰り返されています。プロジェクトのインデックスで、キーワードを次のように定義しました。
動作しますが、タイトルの代わりに、ダイアログにキーワードとプロジェクトの名前が 3 回繰り返されて表示されます。
これがどのように見えるかです:http://img54.imageshack.us/img54/3342/sokeywordjs9.png
そのダイアログにキーワードを含むページのタイルを表示するにはどうすればよいですか? 私はこのように示したい:
ありがとう
sql-server - クラスター化インデックス列の非クラスター化インデックスはパフォーマンスを向上させますか?
SQL Server 2005 では、クエリ アナライザーから、クラスター化インデックスが既にあるテーブルのプライマリ ID 列に非クラスター化インデックスを作成するように何度も指示されました。この推奨事項に従った後、クエリ実行プランは、クエリが高速になるはずであると報告します。
同じ列 (同じ並べ替え順序) の非クラスター化インデックスがクラスター化インデックスよりも高速なのはなぜですか?
algorithm - 「関連」度測定アルゴリズムを実装する方法は?
Stackoverflow の驚くべき機能を紹介されたとき、今日は質問をするつもりでした。質問のタイトルを書いたとき、stackoverflow はいくつかの関連する質問を提案してくれましたが、すでに 2 つの同様の質問があることがわかりました。それは見事でした!
それから、そのような機能をどのように実装するかを考え始めました。関連性によって質問を並べ替える方法:
- 新しい質問と一致する単語数が多い質問
- 一致数が同じ場合、単語の順序が考慮されます
- タイトルに含まれる言葉ほど関連性が高い
それは単純なワークフローですか、それとも複雑なスコア アルゴリズムですか? おそらく、リコールを増やすためのいくつかのステミングですか?この機能を実装するライブラリはありますか? 他にどのような点を考慮しますか?たぶん、ジェフは自分で答えることができます!これをどのように Stackoverflow に実装しましたか? :)
indexing - ディスク部分文字列インデックス上
インデックスを作成したいファイル (具体的には fasta ファイル) があるので、ファイル内の部分文字列をすばやく見つけて、元の fasta ファイル内の場所を見つけることができます。
これは多くの場合、Trie または部分文字列配列を使用して簡単に実行できますが、残念ながら、インデックスを作成する必要がある文字列は 800 MB 以上であるため、メモリ内でそれらを実行することは受け入れられないため、これを作成する合理的な方法を探しています。メモリ使用量を最小限に抑えて、ディスク上にインデックスを作成します。
(明確にするために編集)
私が関心があるのはタンパク質のヘッダーだけなので、関心のある最大のデータベースの場合、これは約 800 MB のテキストになります。
入力文字列に基づいて、O(N) 時間以内に正確な部分文字列を見つけられるようにしたいと考えています。これは 32 ビット マシンで使用できる必要があります。これは、64 ビット マシンを使用することが想定されていないランダムな人々に出荷されるためです。
行内の任意の単語区切りに対して、行の最後までインデックスを作成できるようにしたいと考えています (ただし、行の長さは数 MB になる場合があります)。
これにより、何が必要であり、現在の解決策が明らかにされていない理由が明確になることを願っています。
また、これはJava内から実行する必要があり、さまざまなオペレーティングシステムのクライアントコンピューターで実行する必要があるため、OS固有のソリューションを使用できず、プログラムソリューションでなければならないことも付け加えておく必要があります.
tsql - T-SQL での一時テーブルのインデックスの最適な使用法
ストアド プロシージャ内に一時テーブルを作成していて、それに 1 つまたは 2 つのインデックスを追加して、それに対して作成された追加ステートメントのパフォーマンスを向上させたい場合、最善の方法は何ですか? Sybase は次のように述べています。
「インデックスを作成するとき、テーブルにはデータが含まれている必要があります。一時テーブルを作成し、空のテーブルにインデックスを作成する場合、Adaptive Server はヒストグラムや密度などのカラム統計を作成しません。インデックスの作成後にデータ ローを挿入すると、オプティマイザの統計が不完全です。」
しかし最近、同僚が、一時テーブルを実際に使用するストアド プロシージャとは別のストアド プロシージャで一時テーブルとインデックスを作成すると、Adaptive Server オプティマイザがそれらを利用できると言いました。
全体として、私はほとんど付加価値のないラッパー手順の大ファンではないので、実際にこれをテストすることはできませんでしたが、誰かが他に何か持っているかどうかを確認するために、そこに質問を出そうと思いました.アプローチやアドバイス?
oracle - SQL/Oracle: 複数の列のインデックスを使用できる場合
列 (A、B、C) にこの順序でインデックスを作成すると、(A)、または (A と B)、または ( A と B と C) ですが、(B)、(C)、または (B と C) のみを検索する場合は検索しません。これは正しいです?
sql - フルテキストインデックスをいつ使用する必要がありますか?
クライアントや顧客などを「検索」するクエリがたくさんあります。名前やメールアドレスなどで検索できます。LIKEステートメントは次のように使用しています。
フルテキストインデックスはシナリオに役立ちますか?SQLServer2005を使用しています。