lycheejam's tech log

チラ裏のメモ帳 | プログラミングは苦手、インフラが得意なつもり。

SQL データ件数を”適当”に絞る

概要

1つのテーブルに大量にデータがある場合WHERE句で絞ってもまだ2万とか3万レコード引っかかるわけです
STをやっていて対象のデータは見つかるけどこんなに要らないし
とりあえず上から100件とかしたから100件って感じで絞って見ました。

絞れば早くなるのかな?って感じでやってみたけど
LEFT JOINでの結合のやり方が悪くて元が遅い分体感そんなに変わりませんでした。

OFFSET LIMIT

59log.com

SELECT * 
FROM hogehoge
ORDER BY hoge
OFFSET 0 LIMIT 10;

これでとりあえず上位10個抜き出せる。


だがしかし!
Symfowareなる謎生物は違うのであった。

Symfoware Server SQLビギナーズガイド - FUJITSU -
SELECT * 
FROM hogehoge
ORDER BY hoge
WITH OPTION LIMIT (10);

WITH OPTIONってなんですの?初めて見たんですけど
俺が無知なだけ?

まあ、いい
これで2万とか3万のデータの表示を待たなくて済む。

雑感

システムテストで必要なデータを探すのにSQLいっぱい触ってたら
関連業務のテーブルは結構すらすら出てくるようになって
項目の意味とかも分かるからすぐ見つけれるようにはなってきた。

でも、システムに組み込むなんてSQL文は当然書かないので実行速度とかなにそれ状態