[mysql] やる夫がselect結果の量に困っているようです。
select結果の制限
データ数がすくなければ特に問題ないのですが、10万件とか膨大なデータをあつかっているDBで、安易に”select * from [table_name]”でも打とうものなら・・・。ぁああああってなりますね。そんなときに、”limit”が役立ちます。
____
/:::::::::: u\
/:::::::::⌒ 三. ⌒\ ・・・っちょ・・・・おま・・・
/:::::::::: ( ○)三(○)\ とまらないお・・・
|::::::::::::::::⌒(__人__)⌒ | ________
\:::::::::: ` ⌒´ ,/ .| | |
ノ::::::::::u \ | | |
/::::::::::::::::: u | | |
|::::::::::::: l u | | |
ヽ:::::::::::: -一ー_~、⌒)^),-、 | |_________|
ヽ::::::::___,ノγ⌒ヽ)ニニ- ̄ | | |
やる夫が、”select * from yauro_table”を叩いたようです。
/ ̄ ̄\
/ノ( _ノ \ DBあつかうときは慎重にやれっていってんべ!
| ⌒(( ●)(●)
.| (__人__) /⌒l
| ` ⌒´ノ |`'''|
/ ⌒ヽ } | |
/ へ \ }__/ / / ̄ ̄\ データが多・・・
/ / | ノ ノ / ●)) ((●\’, ・
( _ ノ | \´ _ ( (_人_)’∴ ), ’
| \_,, -‐ ''"  ̄ ゙̄''―---└'´ ̄`ヽ て
.| ______ ノ (
ヽ _,, -‐ ''" ノ ヽ r'" ̄
\ , '´ し/.. | J
\ ( / |
\ \ し- '^`-J
/ ̄ ̄\
/ _ノ \
| ( ●)(●)
| (__人__)
| ` ⌒´ノ limit くらい使っとけよ・・・
| } ほらサンプルSQLやるよ・・・
ヽ }
ヽ、.,__ __ノ
_, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、
/;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
# myql
mysql> select [column_name] from [table_name] limit 10;
- limit [n] でデータ出力数を指定できます。上記例だと上から10行まで出力されます。
____
/ \
/ _ノ ヽ、_ \ テキストにSQLをメモッてコピペするお・・・。
/ o゚((●)) ((●))゚o \
| (__人__) |
\ ` ⌒´ /
/´ `\
/ / l l .___
__l l_¶______/_/__/ ヽ
\, ´-'ヽ  ̄| ̄ ̄ ̄ ̄| l二二二二l
ヾ_ノ | '''' ' | l二二二二l
| 9=ε-8. | '''..-- | l二二二二l:::..
| ..'' | ''-. ,|
ちょっと応用
下記例では、”neet_id”と”neet_name”を出力するようにして、先頭に”y”が付くものを、ソートしかつ10件まで表示するというSQLサンプルです。
- 同でも良いが、会員数200万以上って、すごいシステムだな・・・。
# mysql
mysql> select neet_id, neet_name from yaruo_tb where neet_name like 'y%' order by neet_name limit 10;
+----------+------------------+
| neet_id | neet_name |
+----------+------------------+
| 2410554 | yaranaio |
| 208231 | yarumi |
| 3216603 | yaruo |
| 121868 | yaruo_test |
| 822554 | yaruo_test01 |
| 2158770 | yen |
| 2382 | yneet |
| 896892 | yne |
| 71881 | yyy |
| 54640 | yz_neet |
+----------+------------------+
10 rows in set (0.04 sec)
- like ワイルドカード(っと思っている)
- order by ソート
- limit 出力制限
正直抑えておいた方がよいです。延々とSQLの出力結果がトレースされてるとちょっとだけかっこ悪いです。
----------------------------------------
|
| 固定リンク
「MySQL」カテゴリの記事
- InnoDB: Error: trying to declare trx to enter InnoDB, but InnoDB: it already is declared.(2009.03.05)
- [mysql] my.cnf設定変更(2008.08.04)
- [mysql] やる夫がカラム一覧を表示させるようです。(2008.01.28)
- [mysql] やる夫がDBコネクションをkillするようです。(2008.04.14)
- [mysql] やる夫のMySQL設定ミス(2008.06.20)


コメント