No.2ベストアンサー
- 回答日時:
クエリプランを確認してみましょう。
TOP句を切って先頭何行かを取るだけでも時間がかかるのは、全部並べ替えてみなければ対象が分からないからです。
従って、
1) TOP句のみ IndexScan/TableScan+Top
2) ORDER句のみ IndexScan/TableScan+Sort
3) TOP句+ORDER句 IndexScan/TableScan+Top N Sort
となり、3は2と同じくらいになるはずです。
(クラスタインデックスでORDER句を切ったときは例外で、ソート不要のためその場合は1と同じになります)
したがって、質問者さんの環境で2と3はどうプランされるかを確認されるのがいいと思います。
なお、TOP 100 PERCENTはSQL Server 2005以降では無視されますので、1と同じ結果になります。
No.1
- 回答日時:
データベースの設計が分かりませんが
> top n だけや
> order byだけであれば、そんなにかかりませんが、
であるならば、
SELECT TOP 3500 *
FROM (SELECT TOP 100 PERCENT Field1, Field2
FROM データベース名 ORDER BY Field1) q
の様にしたら速くなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- MySQL select *, `人口(男)`AND`人口(女)`/'面積' as '人口密度'FROM … 1 2023/07/03 21:05
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
SELECT 文 GROUP での1件目を取得
SQL Server
-
DBの定義のサイズを大きくし過ぎると問題ある?
その他(データベース)
-
-
4
Viewにインデックスは張れますか?
Oracle
-
5
AccessのSQL文で1件のみヒットしたら終了させる構文。
その他(データベース)
-
6
抽出結果を分割して取得
その他(データベース)
-
7
GROUP BYを行った後に結合したい。
Oracle
-
8
数百万件レコードのdelete
SQL Server
-
9
UNIONなどで複数のテーブルから上位10件などSELECTする方法
SQL Server
-
10
オラクルではできるのにSQLSERVERではサブクエリーで複数キーを指定できない?
SQL Server
-
11
VBのReturnの使い方
Visual Basic(VBA)
-
12
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
-
13
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
14
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
17
トランザクションログを出力せずにデータを削除する方法
Oracle
-
18
テーブルのレコード削除ができません
SQL Server
-
19
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
20
文字列をsplitするSQL文を教えて下さい
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるDBから別のDBのテーブルをs...
-
バッチファイルではパスワード...
-
html上でMySQLにアクセス(Java...
-
htmlタグを含んだ文字のデータ...
-
複数インスタンス
-
Amazon.comの「MARC」データベ...
-
PHPで生成した値をデータベース...
-
複数のサーバー間の各データベ...
-
SQLServerのselect文でデータ数...
-
Mysqlのデータベースのリンク
-
MySQLってSQLサーバがなくても...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
sql*loader 数値のロード
-
同じSQL文で極端に検索が遅くな...
-
mysqlにおけるホストのパーセン...
-
PL/SQLをWindowsのBATファイル...
-
phpmyadminでの特権が表示方法
-
MySQLへの特殊文字の挿入について
-
ODBCを使用する場合のファイルD...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるDBから別のDBのテーブルをs...
-
SQLServerのselect文でデータ数...
-
mySQLのデータベースにhtmlのコ...
-
バッチファイルではパスワード...
-
Mysqlのデータベースのリンク
-
ユーザにインフォメーション ス...
-
どの程度のデータベースなら、c...
-
mysqlデータベース内のuserテー...
-
データベースに画像を入れた場...
-
データベースの複製の仕方(mysql)
-
phpmyAdminでmySQLのdumpデータ...
-
htmlタグを含んだ文字のデータ...
-
MySQL4.1以上で、機種依存文字...
-
ロータスアプローチでデータ連...
-
作ったはずのDBがphpMyAdminで...
-
私の考えていることは ・mySQL ...
-
データベースに配列を格納する
-
レンタルサーバでのデータベー...
-
データベースの検索で、この場...
-
MySQL4.1系でPHPが文字化けして...
おすすめ情報