例えば、ある文章から特定の文字列が含まれているレコードを呼び出す場合、CPUへの負荷はどの程度ですか?
あるAPIサービスで、111,222,333,444中略999と9回リクエストをしていました。
しかし、実際には”111 or 222 or 333 or 444中略999”とすれば1回のリクエストで必要な情報が呼び出せることがわかりました。
ただ、この場合、1回のリクエストで9倍くらいの負荷がかかりますか?
それとも、データベースソフトの内部では最適化されており、実際の負荷は無視できる程度ですか?
データベースソフトは使ったことがないのですが、一般論として負荷がどの程度増えるものか教えていただければ幸いです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>>ただ、この場合、1回のリクエストで9倍くらいの負荷がかかりますか?
データベースを「検索担当の人」とイメージしてみたら、いいかもしれません。
9回のリクエストは、検索担当者に9回の仕事依頼をして、9回の返事をもらうことになります。
でも、or条件で検索の数字を9個並べて伝えたら、仕事依頼は1回、返事も1回で済むので効率的ですよね?
また、実際の検索作業も、データが書かれたところ(HDD等)から取り出す時間と比較すれば、取り出したデータが該当するか?としらべる時間はずっと短い。
なので、1回で取り出したデータを9個の条件でチェックするほうがずっと効率的となります。
たぶん、orで条件を作った場合、9倍の時間はかからず、or無しのときとほぼ同じくらいではないか?なんて思えます。
回答いただきありがとうございます。
Waitを設けようかと思っていましたが、特になしでも相手サーバへの負荷は変わらなさそうですね。今までよりも9倍早くデータが更新できるのは凄くお得ですね。
というか、もっと早くこういった方法に気づけばよかったです。
とても参考になりました。
No.2
- 回答日時:
特定の列の中で、位置や長さが不定の検索(LIKE条件)するのではなくて、「=」条件で検索できる要件なのですね?
母体がどの位あり、その中で何件くらい検索するのか不明ですが、インデックスを定義して、インデックスを有効利用できる検索にしなければ、母体データを全件検索することになります。
リクエスト回数については、IN条件またはOR条件で1/9回にできるなら、そうしてください。
なお、実際の検索条件は他の条件もありもっと複雑になるなら、ORよりIN条件を使ったほうが、MySQLがより適切なインデックスを使ってくれる可能性があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン CPUの温度 8 2022/07/13 18:59
- 物理学 ACモーターは、無負荷時より、負荷時のほうが、電流値は上がるのでしょうか? 3 2022/11/30 17:15
- その他(暮らし・生活・行事) 電動草刈機 稼働時間について 5 2023/08/26 18:30
- CPU・メモリ・マザーボード CPUファンの交換について 3 2022/07/14 12:04
- 電気・ガス・水道業 最大電力供給の定理について質問です。 内部抵抗rを持つ電源に負荷Rを繋ぐ場合、r=Rが電力供給の最大 2 2022/10/19 15:32
- 電気・ガス・水道業 電気契約について 1 2023/03/14 13:45
- 工学 三相誘導電動機の比例推移に関する問題です。 定格出力200kW、4極、50Hzの巻線形三相誘導電動機 1 2023/05/28 12:29
- 工学 電磁石の故障 2 2022/09/07 18:03
- 物理学 すいません。教えてください。 問題概要はわかりますが、同期速度の求め方がわかりません。極数があたえら 2 2022/03/29 12:29
- スポーツサイクル 長距離を楽に早く移動できる自転車を知りたい。(グラベルバイク系) 3 2023/08/24 22:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるDBから別のDBのテーブルをs...
-
MySQLの文字化け
-
phpmyAdminでmySQLのdumpデータ...
-
データベースの複製の仕方(mysql)
-
Mysqlのデータベースのリンク
-
ロータスアプローチでデータ連...
-
MySQLからのデータ取得で日本語...
-
MySQLの設定ミス
-
文字化けしたデータベース名・...
-
SQLServerのselect文でデータ数...
-
mySQLのデータベースにhtmlのコ...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
sql*loader 数値のロード
-
同じSQL文で極端に検索が遅くな...
-
PL/SQLをWindowsのBATファイル...
-
mysqlにおけるホストのパーセン...
-
comment on columnについてわか...
-
1つのファイルにmysqlとPostgre...
-
MySQLへの特殊文字の挿入について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるDBから別のDBのテーブルをs...
-
html上でMySQLにアクセス(Java...
-
SQLServerのselect文でデータ数...
-
バッチファイルではパスワード...
-
mySQLのデータベースにhtmlのコ...
-
htmlタグを含んだ文字のデータ...
-
どの程度のデータベースなら、c...
-
データベースの複製の仕方(mysql)
-
Mysqlのデータベースのリンク
-
私の考えていることは ・mySQL ...
-
MySQL4.1以上で、機種依存文字...
-
データベースに配列を格納する
-
ロータスアプローチでデータ連...
-
データベースに画像を入れた場...
-
firebird,SQLトレーナーの使い方
-
sql merge文について
-
MYSQL で検索した結果を印刷したい
-
MySQL データベースをデタッチ
-
MySQLからのデータ取得で日本語...
-
mysqlデータベース内のuserテー...
おすすめ情報