ホームページ >バックエンド開発 >PHPチュートリアル >PHP 面接の質問 8: innoDB と myisam の違い

PHP 面接の質問 8: innoDB と myisam の違い

不言
不言オリジナル
2018-04-18 09:57:0011798ブラウズ

この記事では、PHP インタビューの 8 番目の質問で innoDB と myisam の違いを紹介します。これには、必要な友人が参照できるように共有します

InnoDB:
トランザクション処理などをサポートします。追加されません ロック読み取り
外部キーをサポート
行ロックをサポート
FULLTEXT型インデックスをサポートしません
テーブル内の特定の行数を保存せず、テーブルをスキャンして行数を計算します
テーブルをDELETEすると削除されます行を 1 つずつ
InnoDB はデータとインデックスを結合します テーブルスペースに保存されます
プラットフォーム間で直接コピーして使用できます
InnoDB には AUTO_INCREMENT タイプのフィールドのインデックスが含まれている必要があります
テーブルの圧縮は困難です

MyISAM:

サポートしませんトランザクション、ロールバックは不完全なロールバックを引き起こし、アトミックではありません
外部キーをサポートしません
外部キーをサポートしません
全文検索をサポートします
どこを指定せずに、テーブル内の特定の行数を保存し、保存された行数を直接返しますrows
テーブルをDELETEする場合は、まずテーブルを削除してからテーブルを再構築します
MyISAMテーブルは3つのファイルに保存されます。 frm ファイルにはテーブル定義が保存されます。 データファイルはMYD(MYData)です。 インデックス ファイルは MYI の拡張子 (MYIndex) です
プラットフォーム間で直接コピーするのは困難です
MyISAM では、AUTO_INCREMENT 型のフィールドを使用して結合インデックスを作成できます
テーブルを圧縮できます

次を選択してください

MyISAM は比較的シンプルなので、システムの読み取り量が多く、書き込み量が少ない場合、効率の点では InnoDB よりも優れています。低い原子性要件。その場合、MyISAM が最良の選択です。そしてMyISAMの回復速度も速いです。直接上書きしたり、バックアップで復元したりできます。
特に同時書き込みが多い場合、システムの読み取りが減り、書き込みが増える場合。 InnoDB が第一の選択肢です。
どちらのタイプにも独自の長所と短所があります。どちらを選択するかは、あなたの実際のタイプによって異なります。

InnoDB:

トランザクション処理などをサポートします
ロックなしの読み取り
外部キーをサポート
行ロックをサポート
FULLTEXT型インデックスをサポートしません
テーブル内の特定の行数を保存せず、テーブルをスキャンして行数を計算します行がある
テーブルをDELETEすると、行ごとに削除されます
InnoDBはテーブルスペースにデータとインデックスを保存します
クロスプラットフォームで直接コピーして使用できます
InnoDBにはAUTO_INCREMENT型フィールドのインデックスが含まれている必要があります
テーブルは難しい
MyISAM:

トランザクションをサポートしません。ローリングは不完全なロールバックを引き起こし、アトミックではありません。

外部キーをサポートしません。
特定の番号を保存します。 where を指定しないと、保存された行の数が直接返されます。まずテーブルを削除し、次にテーブルを再構築します。MyISAM テーブルは 3 つのファイルに保存されます。 frm ファイルにはテーブル定義が保存されます。 データファイルはMYD(MYData)です。 インデックス ファイルは MYI の拡張子 (MYIndex) です
プラットフォーム間で直接コピーするのは困難です
MyISAM では、AUTO_INCREMENT 型のフィールドを使用して結合インデックスを作成できます
テーブルを圧縮できます

次を選択してください
MyISAM は比較的シンプルなので、システムの読み取り量が多く、書き込み量が少ない場合は、効率が InnoDB よりも優れています。低い原子性要件。その場合、MyISAM が最良の選択です。そしてMyISAMの回復速度も速いです。直接上書きしたり、バックアップで復元したりできます。
特に同時書き込みが多い場合、システムの読み取りが減り、書き込みが増える場合。 InnoDB が第一の選択肢です。
どちらのタイプにも独自の長所と短所があります。どちらを選択するかは、実際のタイプによって異なります。

関連する推奨事項:



php インタビューの質問 7: nginx で負荷分散を構成する方法

php インタビューの質問 6: memcache と redis の違い

php インタビューの質問 5: nginx が php と php を呼び出す方法-fpm 機能と動作原理

以上がPHP 面接の質問 8: innoDB と myisam の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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