プログラム初心者です
phpとmysqlで簡単な掲示板を作りました
一つのテーブルでsure_idごとにスレッドをつくり、resu_idでレス番号をつくっています
そこで削除フラグがある場合にはそのレスを表示しないようにしたいのです
素人なのでこんな方法しか思い浮かばないのですがこれで大丈夫でしょうか?
5番のスレッドを全て取得し、削除フラグがない行を全て取得
SELECT * FROM bbs WHERE sure_id=5 and dll_flg=0
質問1
削除フラグはどのような立て方が良いでしょうか?0と1でしょうか?
質問2
削除フラグのカラムにもインデックスを張ったほうが速いですか?
質問3
phpでいちいちif文で判定するよりsqlで表示判定したほうが早いですよね?
よろしくお願いします
No.1ベストアンサー
- 回答日時:
質問1:
BOOLEAN型(TRUE/FLASE型)があるDBの場合はこれを
使ったほうが良いですが、mysql には無いので数値で代替
するしかありません。
0 の意味を忘れないように (0 は削除・未削除のどっちだっ
け?とならないように) 注意してください。
質問2:
検索は速くなりません。しかも登録 (INSERT/UPDATE) が
遅くなるので付けないほうがマシです。
何故 検索が速くならないのか、何故 登録が遅くなるのかに
ついては、きちんとインデックスの仕組みを学習してください。
良いシステムを作るには、きちんと仕組みを知ることが必須
です。
質問3:
たいていの場合は SQL のほうが速いでしょう。
DB関連の処理は『なるべくまとめて処理する』『不要なデータ
は取得しない』ことが処理速度アップの基本です。
回答ありがとうございます
インデックスつけるとUPDATE遅くなるのですね。勉強不足でした
sqlのほうで処理することにしました。ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- 教えて!goo 質問の回答にわざわざ、質問者のIDを使って「○○様」などと文中にやたらID連呼の回答をする人がなぜい 7 2023/02/07 13:10
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インデックスについて
-
複数カラム検索で、LIKE "%検索...
-
SQLです!!教えてください。
-
INDIRECT関数の代替方法は?
-
DBの定義のサイズを大きくし過...
-
SELECT文で、指定カラム以外の...
-
BULK INSERT時のNull許容について
-
ドロップダウンリストの連動し...
-
SQLServerでNULLを挿入したいです
-
now()かCURRENT_TIMESTAMPか
-
テーブルの列数を調べたい
-
UNIONする際、片方テーブルしか...
-
sql , insert で空行(全ての列...
-
【Transact-sql】 where条件、i...
-
MYSQLで小数点を表示する場合と...
-
構造が異なる二つのテーブルをu...
-
巨大テーブルからインデックス...
-
[MySQL]LOAD DATA INFILE一部レ...
-
コンボボックスの抽出条件のLik...
-
時間範囲が重複したレコードを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユニーク制約とユニークインデ...
-
MySQLのKey属性「MUL」について
-
複数カラム検索で、LIKE "%検索...
-
データベースの設計について教...
-
インデックスを張るべき項目に...
-
インデックスについて
-
UPDATEつてインデックス貼って...
-
削除ふらぐ
-
SQL Server Management Studio...
-
3テーブルより抽出のSQL文
-
MySQLのauto incrementについて
-
INDIRECT関数の代替方法は?
-
一部のカラムでdistinctし全て...
-
SQLServerでNULLを挿入したいです
-
テーブルの列数を調べたい
-
SELECT文で、指定カラム以外の...
-
DBの定義のサイズを大きくし過...
-
now()かCURRENT_TIMESTAMPか
-
LIKEの右側にカラムを指定でき...
-
UNIONする際、片方テーブルしか...
おすすめ情報