- ベストアンサー
select * from の負荷。
MySQLでも、最小限で最大限の効率を目指そう!! っうか、作ってるスクリプト自体がオリジナル性が強く、っうか無茶してるので最低限な事は注意しないと。 やはり、select * from もアスタリスクよりもselect F1,F2,F4,F5,F6,F8,F9 from とした方がいいんすか? MySQLで一度接続してしまえば関係ないンすか? 負荷が高い処理はなンすか? 例えば掲示板で、最終更新者 ○○さん 時間 12/05 12:05 と言う項目を作る場合は、時間でソートして最後の人を表示するのと、別のテーブルを作ってそこに入れた方がいいンすか? ボクの感覚では、接続する時に高負荷がかかる。 いくつかの質問をあげていますが、MySQLの負荷、メモリーの全般と考えて頂ければ、嬉しいッス!!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> やはり、select * from もアスタリスクよりもselect F1,F2,F4,F5,F6,F8,F9 from とした方がいいんすか? 列が、F1~F9まで9個ある状態で、すべての列のデータを取りたい場合は - select F1,F2,F4,F5,F6,F8,F9 from ... - select * from ... このどちらも同じ速度になります。 もし、F1とF2の2つしか取得する必要が無いのであれば、 - SELECT F1,F2 from ... とした方が速くなります。 > 例えば掲示板で、最終更新者 ○○さん 時間 12/05 > 12:05 と言う項目を作る場合は、時間でソートして最 > 後の人を表示するのと、別のテーブルを作ってそこに > 入れた方がいいンすか? うーん、条件によって変わりますが、掲示板一覧の表があるのであれば、その表に最終更新時刻と更新ユーザIDを記録する列を作り、それを更新するようにしますね。 最終更新者だけでなく更新されたログをすべて記録しておきたいのであれば、そのログ表を作り、時刻でSORTして使用するでしょうね。 > ボクの感覚では、接続する時に高負荷がかかる。 一般的に言って、DBへの接続処理というのは処理負荷が高い処理ですね。
その他の回答 (1)
- tak2003
- ベストアンサー率32% (174/540)
DB全般にいえることですけど、アスタよりもカラムを指定したほうが早いです でも、個人で行っているHPだったら余り深くは考えなくても良いと思います。 100万件とかをソートするわけではないのですから。
お礼
なるほど、MySQLでは多少無茶をしてもいいと、解釈しました。ニヤソ
お礼
>- select F1,F2,F4,F5,F6,F8,F9 from ... >- select * from ... 同じ速度なんですね。 やはり条件によりけりかー。 Perl,PHPが長いので直感的に分かりやすいのは前者なんですが、DBとなると後者を考える必要も。 注意点としては接続回数を少なくする事かなー。 DBは容量の2倍は、メモリーがあった方がいいと読んだ気もします。