私は一度に任意のデータベースから1000レコードを読み込もうとしています。私は列の名前と列の型がわからないと仮定しているので、テーブル内の最初の列を選択してORDER BYを実行します。 ORDER BYを使用してテーブルのどのテーブルを選択するかは重要ですか?私はデータベースの内容があまりよくなく、今は学んでいます。良い列を選択するとクエリの実行がスピードアップされ、結果セットが返される場合は、どのタイプを探してください。データソースの任意の列でSQL ORDER BY句を使用できますか?
マイコード:
if (SQLServerDatabase) {
String query = "SELECT * FROM "+tablename+" ORDER BY "+columnnames.get(0)+" OFFSET "+offset+" ROWS FETCH NEXT "+size+" ROWS ONLY;";
rs = stmt.executeQuery(query);
} else if (MySQLDatabase) {
String query = "SELECT * FROM "+tablename+" LIMIT "+offset+", "+size+";";
rs = stmt.executeQuery(query);
}
注:れる列名リスト
BY ORDERが他人に遅い、インデックス付きの列に高速です。最初の列は、常にそうとは限りませんが、多くの場合、プライマリキーです。 – jarlh
注文に任意の未知の列を使用した場合のパフォーマンスの問題は別として、これはまったく意味がありますか?なぜそれを知っていないのですか? –
質問は、あなたが何を注文しているのかわからないときは、結果をすべて注文すると便利ですか? –