システムのレスポンス向上技法を勉強したいと思っています。
ゼロから始める形でオススメの書籍、講座、Webはありませんか。
最終的にはDB/クライアントハード・インフラ・DBソフト選択/設定・ロジック・SQL含めて全般的な知識を身につけたいとは思っていますが
・既存システムのボトルネック調査/切り分け方法
・新規開発時のSQL・ロジック作成時の注意点
から学べればと思っています。
現在一番使うことが多い環境が下記の通りなので
下記のどれかに特化したものでもいいと思っています。
まずはどこから取り掛かれば・・・、という状態なので・・・。
ソフト側:Access/EXCEL(2000/2003), VB6
DB側:Access, (Oracle, SQLServer)
宜しくお願い致します!
No.1ベストアンサー
- 回答日時:
基本情報技術者試験ならびに応用情報技術者試験の勉強をなさってみてはどうですか?
総合的にといわれると、そうなってしまうと思います。
DBについては、AccessとOracle, SQLServerで大きく2分されてしまいます。
システムのレスポンスに着目するのであれば、プロバイダーの性能を勉強していくと良いと思います。
Jet,OLEDB,0040等です。
Jetはネットワークでのアクセスに向かない理由がわかると思います。
0040は早いが、OLEDBは便利などです。
DBソフト選択
かけられるお金で決めてください。
クライアント数にもよりますが、金額面で差が大きいです。
お金を気にしないのであれば、
Oracle>SQLServer>Access
個人的には、Accessを使うくらいなら、CSVファイルを使います。
システムのボトルネックの考え方
http://www.atmarkit.co.jp/fnetwork/survey/survey …
ボトルネックになりえる部分はそう多くないと思います。
サーバーの性能
対処、サーバーの強化、負荷分散、機能分散(アプリケーションサーバーとDBサーバーの切り離しなど)
DBエンジンのレスポンス
対処、サーバーの強化、DB構成の再検討
ネットワークトラフィック
対処、ネットワーク回線の強化、負荷分散
クライアントサーバーで考えるなら三層アーキテクチャの構成を勉強されると良いでしょう。
根本的な話ですが、VB6.0の時点でパフォーマンスが非常に低いです。
.NetFramework等に移行したほうが良いと思います。
VB.NETでは格段にパフォーマンスが向上されています。
VB6.0で速度の向上をめざすなら、
たとえば
For 構文で使用するループ変数はコンパイラ上long関数ですので、ループ変数にInteger方の変数を使用すると、IntegerからLongへの型変換が自動で行われるため、Nミリセカンド遅くなる。
IF str = "" then
より
If str = vbNullString Then のほうが早い
とか、
Format(),Left(),Right(),Dir()などの引数はバリアント方であるため、
Format$(),Left$(),Right$(),Dir$()などの引数を文字列固定にしたほうが早い。
こういうことを意識して組んでいくということですよね、
よっぽど非効率な組み方をしていない限り、全部改善しても、1秒も変わらないと思います。
SQLですが、プログラム中で、編集や計算したほうが、断然速いです。
ただネットワークを介した場合、データ量が変わりますよね、このあたりの調整が大事だと思います。
Table A(a,b,c)
SELECT * FROM A
より
SELECT A.a,A.b,A.c FROM A
のほうが早いとかありますが、データ量が少なければ、速度はほとんど一緒ですよ。
話がまとまりませんでしたが、これを勉強すれば全てがわかるというものはありません。
一つ一つ地道にやるしかありません、お互いがんばりましょう。
周りにアドバイスを聞ける人がいないため大変困っていました。
詳しくありがとうございました。
1つずつ、経験をつみながら学んでいきたいと思います。
どれもとても勉強になりました。
まずは教えていただいた内容を考えることと、全体的な知識向上に
技術者の勉強もしてみようと思います。
望まれるレスポンスを提供できる環境を提案できるように
開発言語の特徴に関しても学んでみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
- Visual Basic(VBA) VBでExcelの表形式の様なデザインを作りDBと連携させる。 4 2023/02/28 11:39
- 弁護士・行政書士・司法書士・社会保険労務士 5月15日の司法試験予備試験を受験しました。先月から通信講座のスタディングで来年度向けに勉強していま 1 2022/05/17 15:00
- その他(職業・資格) 弁理士試験の勉強方法について 1 2022/09/11 07:32
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースのデータをTextBox...
-
VBAの「for i=1 to cells(…」...
-
XMLとUMLの相違点?
-
どの言語を勉強すればいいでし...
-
サーブレットで電卓をつくる
-
エクセル VBAでフォルダ内のPDF...
-
会社のwebサイトを管理するため...
-
MSFormsとは何ですか?
-
Java Struts メッセージリソー...
-
VBAなくなるの?
-
PHPの初学者とmySQL
-
ホームページを作成してみたい
-
Javascriptのオススメの勉強法...
-
独学でDreamweaver...
-
エクセル VBA の用語一覧について
-
javaでゲームを作れる方に質問です
-
java appletからデータを抽出す...
-
Bootstrap5とCSS3とSassとSASS...
-
初心者プログラマーでしゅっ! ...
-
クッキーの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースのデータをTextBox...
-
VBAの「for i=1 to cells(…」...
-
MSFormsとは何ですか?
-
XMLとUMLの相違点?
-
エクセルVBAを動かすノートPC...
-
為替レートの取得方法
-
Pythonを勉強する道のり
-
C++ですごろくゲーム作成
-
質問です。 Java言語を勉強出来...
-
Excel VBAマクロをマスターする...
-
JavaScriptを用いて、〇図形を...
-
サーブレットで電卓をつくる
-
cin.peek() cin.ignore(100,'\\n')
-
超恥愚問ですが、CとC++の間に...
-
画像編集ソフトの作り方
-
サイト訪問者の情報を取得したい
-
占いサイトを作りたいのですが...
-
C#とDelphiの違いについて
-
Lex,Yaccについて。
-
Struts1.1をつかったDB接続方法
おすすめ情報