本番データベースには 256 個のテーブルがあります。SELECT
各テーブルには約 10,000,000 行あります。1 つのクエリで 1 つのテーブルからすべての行を取得することはできません。
実際、テストとして、このようにクエリフェーズを solr/conf/data-config.xml に入れました。1 つのテーブルがあり、すべての行を選択しています。
Solr (Java ベース) を使用しています。そして、次のようにデータのインデックス作成をトリガーします。
curl --max-time 36000 -i localhost:portNum/solr/dataimport?command=full-import
これは XML の内容です。
<entity name="file" query="SELECT *, LOWER(REPLACE(sw_name, ' ', '')) packed_sw_name, CAST(group_id as char) group_id_s FROM tblTmp1"/>
しかし今、データ インポート用のテーブル番号 (tblNum) のパラメーターを取得し、ID 範囲内の行を繰り返し選択したいと考えています。ドル記号変数置換を使用すると、クエリは次のようになります。
<entity name="file" query="SELECT *, LOWER(REPLACE(sw_name, ' ', '')) packed_sw_name, CAST(group_id as char) group_id_s FROM tblTmp1_
$tblNum where id >=
$startSn and id<
$endSn" />
データベースに繰り返しクエリを実行するにはどうすればよいですか? また、どのファイルでこれを設定すればよいですか?