ホームページ  >  記事  >  バックエンド開発  >  PHP開発の難しさは何ですか?

PHP開発の難しさは何ですか?

藏色散人
藏色散人オリジナル
2019-10-22 09:15:254040ブラウズ

PHP開発の難しさは何ですか?

PHP 開発の難しさは何ですか?

PHP 開発で遭遇する問題:

1. InnoDB の代わりに MyISAM を使用する

MyISAM がデフォルトで使用されます。しかし、非常に単純なデータベースを構築している場合や、単に実験的に行っている場合を除き、ほとんどの場合、これは間違った選択です。 MyISAM は、データの整合性を確保するための本質である外部キー制約をサポートしていません。さらに、MyISAM はデータの追加または更新時にテーブル全体をロックするため、将来の拡張パフォーマンスに大きな問題が発生します。

2. PHP の mysql メソッドを使用する

PHP は最初から MySQL 関数ライブラリを提供しています。多くのプログラムは、mysql_connect、mysql_query、mysql_fetch_assoc などに依存しています。

3. ユーザー入力をフィルタリングしない

次のようにする必要があります: ユーザー入力を決して信頼しないでください。バックエンド PHP を使用して各入力情報を検証およびフィルタリングします。Java は信頼しません。

4. UTF-8 は使用しないでください

UTF-8 は、国際化に関する多くの問題を解決します。 PHP6 ではこの問題をより完全に解決できますが、MySQL の文字セットを UTF-8 に設定することはできます。

5. SQL を使用する必要がある場合は PHP を使用する

MySQL を初めて使用する場合は、問題を解決するときに、まず使い慣れた言語の使用を検討することがあります。これにより、無駄が発生し、パフォーマンスが低下する可能性があります。例: 平均を計算する場合、MySQL ネイティブの AVG() メソッドは使用されず、代わりに PHP がすべての値をループし、それらを累積して平均を計算します。

6. クエリが最適化されていない

PHP パフォーマンスの問題の 99% はデータベースが原因であり、SQL ステートメントが不適切であると、プログラム全体が非常に遅くなる可能性があります。 MySQL の EXPLAIN ステートメント、Query Profiler、およびその他の多くのツールは、不正な SELECT を見つけるのに役立ちます。

7. 間違ったデータ型の使用

MySQL は、数値、文字列、時間などの一連のデータ型を提供します。日付を保存したい場合は、DATE 型または DATETIME 型を使用します。整数または文字列を使用すると、処理がさらに複雑になります。

8. SELECT クエリでは *

を使用します。テーブル内のすべてのフィールドを返すには * を使用しないでください。非常に時間がかかります。必要なデータフィールドのみを取り出す必要があります。すべてのフィールドを削除する必要がある場合は、テーブルを変更する必要がある可能性があります。

9. インデックスの不足またはインデックスの過剰設定

一般に、SELECT ステートメントの WHERE の後に現れるフィールドはすべてインデックスを作成する必要があります。

10. バックアップが行われない

頻繁に起こることではありませんが、データベースの損傷、ハードディスクの障害、サービスのシャットダウンなどにより、データに壊滅的な損傷が発生する可能性があります。したがって、データを自動的にバックアップするか、コピーを保存する必要があります。

PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上がPHP開発の難しさは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP試験の証明書?次の記事:PHP試験の証明書?