PHPとMysqlでなんか動作が重たいな。新しい発見!?自分の好きなことを誰かに言いたい!伝えたい!!日陰ヤンキーのメモホームPHPMysqlJavaScriptSEOapache便利ホームMysqlPHPとMysqlでなんか動作が重たいな。PHPはまったはまった。今まで静的ページで表示していたWEBページを動的に表示しようとPHPとMysqlを導入。管理が非常に楽になりました。必要な情報はDBに保存しPHP側でそれを処理しHTMLで吐き出す。すごくやりやすいけど、ページが表示されるのが不思議と重たくなった。DBの処理が増えれば増えるほど遅くなる。??PHPの書き方、Mysqlへの接続、SELECT文ともに早く動作するように工夫しているのに...。PHPのソースで不要なところは削除したり、Mysqlのインデックスを付けてみたり...ナノになぜこんなに重い。そこで本日は、こういった状況に陥った時に確認すべき事項をメモ代わりに記述しました。●まず、第一にPHPは誰でも便利に使いやすいように非常にアバウトなコードでも動く!!俺みたいな初心者プログラマーでも動くように設定されており、エラーが出ても動いてくれる。...でも、その素晴らしい機能のせいで今回は苦しんでいるんです。●クォートの扱いに注意!!クォートで囲むと囲まないとで劇的な差が出ます。!シングルとダブルの違い!これがバラバラでソース内で記述されていたらPHP側では、「どっちだろう」とアバウト補完を繰り返します。そのアバウト補完を繰り返す分、動作が遅くなるのです。※これは他で使っている配列、文字、ファイルパスでも同様です。どれも違う記述となります。こんな初歩的な事で動作は重たくなってくるのです。使用しているのが一か所だと問題ないのですが、この記述が多数あるとあればあるその分重たくなるのです。配列名ははシングルを使い、関数内やファイルパスなどの文字列はダブルを使う。このルールを守って構築すれば、これだけで劇的に早くなります。※基本的には、文字にはダブル。配列にはシングルを使うと良いでしょう。四の五の言わず、”絶対に”つけよう。※付ける付けないで、5倍も10倍もパフォーマンスが違う。Mysqlへの接続などのクォートはバッククォートです。ちなみにキーボードのShiftを押しながら@を押したら入力できます。このバッククォートが大事なのです。総称すると以下のようになります。DESC”;※Mysql側のテーブル、カラム名、エイリアス名にはバッククォートを使用し、文字列にはシングル、変数代入にはダブルクォートを使用しましょう。これだけでも劇的に変わります!!●PHPでの文字の扱いにも注意!HTMLに文字を渡す場合もパフォーマンスが関係します。“このページのTitleは、{$_GET[‘ititle’]}です。{は、テキスト文中に変数を差し込みたい場合に変数間を大かっこで囲めばその中は変数として処理される。※記述の数が増えると前者の方が早いです。●アスタリスクの使い方。Mysqlへのselectなどのsqlリクエストでよく使う、*(アスタリスク)。全フィールドをよびだせるからついつい使いがちですが、これが重い原因のひとつです。Mysql側では、全文検索を行うため、MySQL上に無駄な処理がかかり重たくなります。Mysql側に無駄な処理がかからないようにするのが必要です。上記の2つで【クォート】と、select分での*をやめることである程度負荷は軽減できるはずです。直後の0というのは、ポインタといわれるものの位置で、いわゆる1件目(プログラム上は1ではなく0から)から、カンマの後の行数分出力してくれます。表示される件数が減れば減るほど早くなるのはものの道理。全文表示より件数を絞って表示したほうが速い!●文字検索する場合は、前方一致が良い!前方一致であればあるほど、パフォーマンスが良くなります。書きますと、完全一致タイプの検索になります。書きますと、前方一致で、山田の後はどんな文字列が入っていてもOKという検索になります。これは後方一致、苗字はなんでもよく、【太郎】という名前の方を探します。この際の前方一致【文字列%】であれば、それなりのパフォーマンスで検出できますが、後方一致や全文検索での部分一致タイプでは、著しくパフォーマンスは落ちます。結論!どんな自分ルールを決定し、それに準じてソースを作成します。dumpファイルを作成よく忘れるのでメモとして記載。xamppが入っているDドライブに移動。(ドライブ各自のドライブに合わせて記事を読む【XAMPP】Apache,MySQL,PHPのバージョンを調べる【コマンドプロンプト】ちょくちょく忘れるから自分用にメモ。ローカルサーバ記事を読むWEBの歴史-2000年代前半1さて、前回(WEBの歴史-1900年代後半)に引き続き今回もWEBの歴史をまとます。今回は、2000年前半です。将来的に削除される見込みです。パスワードを忘れた!メールアドレスも分からない!ログインできない時はデータベース(mySQL)変更で解決!!Wordpressは無料で使えるし、便利で使いやすいのでホームページ制作によく使っています。記事を読むWEBの歴史-2000年代前半3さて、前回(WEBの歴史-2000年代前半2)に引き続き今回もWEBの歴史をまとます。今回は、2000年3です。記事を読むWEBの歴史-1990年代後半さて、前回(WEBの歴史-1900年代前半)に引き続き今回もWEBの歴史をまとます。今回は、1990年後半です。前回のxampp導入で無事、動作確認がとれましたので今回はLi記事を読むWEBの歴史-2000年代前半4さて、前回(WEBの歴史-2000年代前半3)に引き続き今回もWEBの歴史をまとます。今回は、2000年4です。記事を読むWEBの歴史-2000年代前半2さて、前回(WEBの歴史-2000年代前半1)に引き続き今回もWEBの歴史をまとます。今回は、2000年前半2です。記事を読むPHPのアクセス修飾子よく忘れるのでメモ。そのクラスからしかアクセス記事を読むWEBの歴史-1990年代前半プログラマーとしてWEBに携わる者として、そもそもWEBってなんだろう?誰が作ったのだろう?ってふと。感じてしまったのが始まり。下記のエディタを使って記事を読むWADAXのレンタルサーバーでphpのアップロード上限を変更する方法WADAXのレンタルサーバーでwordpressの構築をしている場合、写真のデータが重たいと写真を入れる場合、アップロードでエラーが出る。記事を読むphpの依存性管理ツール[composer(コンポーサー)]をwindows10にインストールphpでwebサイトやアプリを構築することが多くあり、今回、メジャーなcomposer(コンポーサー)をインストールしました。xamppのphpバージョン確認方法xamppに入っているphpのバージョンの確認方法をメモ代わりに記載します。コマンドプロンプトを立ち上げます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。最近の投稿WordPressはバックアップだけでは危険です。復元までの動線がセキュリティを向上します。Reserved.Translate。