最近就職活動をしていて面接を受けているのですが、面接の過程で自分の欠点がたくさん露呈し、まとめにまとめていました。おそらくほとんどの面接官は、データベースの最適化、マスター/スレーブ レプリケーション、インデックス、エンジンなど、MySQL に関する質問をするでしょう。それで、私が最も印象に残っているのは、int (10) と int (11) の違いは何なのかということです。これは最も基本的な質問のようですが、私は決して気にしていないようです。当時は少し戸惑ったのですが、何が違うのでしょうか?全く分かりません!考えていない!
家に帰ってから、mysql のデータ型に関する知識をすぐに復習しました。整数型について少し説明します。
#mysql の整数データ型説明 | ストレージ要件 | |
---|---|---|
小さな整数 | 1バイト | |
小さな整数 | 2 バイト | |
中整数 | 3 バイト | |
通常のサイズの整数 | 4 バイト | |
ビッグ整数 | 8 バイト |
Signed | Unsigned | |
---|---|---|
-128~127 | 0~ 255 | |
-32768~32767 | 0~65535 | |
-8388608~8388607 | 0~16777215 | |
-2147483648~2147483647 | 0~4294967295 | |
-9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
デフォルトの表示幅 | |
---|---|
4 | |
6 | ##mediumint |
int(整数) | |
##bigint | |
* 負号は 1 桁を占めるため、各タイプの幅は次のようになります。最大値は1桁です。たとえば、tinyint の最大桁数は 3 に負符号を加えたものであるため、表示幅は 4 になります。 |
mysql> desc test_integer; +-----------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | test_id_1 | tinyint(1) | NO | | NULL | | | test_id_2 | tinyint(4) | NO | | NULL | | +-----------+------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
signed tinyint 型の表示幅 1 の test_id_1 と表示幅 4 の test_id_2 の 2 つのフィールドを作成しました。データを挿入し、同時に値 128、1、127 を挿入して、何が起こるかを確認します。
mysql> insert into test_integer (test_id_1,test_id_2) values (-128,-128), (1,1), (127,127); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0
ok は、挿入が成功したことを示すプロンプトを表示します。
mysql> select * from test_integer; +----+-----------+-----------+ | id | test_id_1 | test_id_2 | +----+-----------+-----------+ | 1 | -128 | -128 | | 2 | 1 | 1 | | 3 | 127 | 127 | +----+-----------+-----------+ 3 rows in set (0.00 sec)
をクエリしてみましょう。結果は同じです。上記の実験の後、結論を導き出します:
値の範囲表示幅の整数型は関係ありません。表示幅は、MySQL が表示できる数値の最大数を指定するだけです。桁数が指定幅未満の場合は、スペースで埋められます。表示幅より大きい値が挿入された場合は、次のとおりです。値がこの型の整数の値の範囲を超えない場合、値を挿入して表示することができます。
同様に、int (10) と int (11) も表示幅が異なるだけで違いはありません。皆さん、忘れないでください。
推奨チュートリアル: 「
PHP チュートリアル」
以上がMySQL の int (10) と int (11) の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

mysqloffersvariousstorageEngines、それぞれのfordifferentusecases:1)Innodbisidealforapplicationsingingidcomplianceanceandhighconcurrency、support transactions andforeignkeys.2)myisamisbestforread-havyworkloads、transactionsupptort.3)

MySQLの一般的なセキュリティの脆弱性には、SQLインジェクション、弱いパスワード、不適切な許可構成、および非合事ソフトウェアが含まれます。 1。SQL注射は、前処理ステートメントを使用することで防ぐことができます。 2。強力なパスワード戦略を強制的に使用することにより、弱いパスワードを回避できます。 3.不適切な許可構成は、ユーザー許可の定期的なレビューと調整を通じて解決できます。 4.未使用のソフトウェアは、MySQLバージョンを定期的にチェックして更新することでパッチを適用できます。

MySQLの遅いクエリを識別することは、遅いクエリログを有効にし、しきい値を設定することで実現できます。 1.スロークエリログを有効にし、しきい値を設定します。 2.スロークエリログファイルを表示および分析し、詳細な分析のためにMySQLDumpSlowやPT-Query-Digestなどのツールを使用します。 3.インデックスの最適化、クエリの書き換え、およびselect*の使用を回避することで、遅いクエリの最適化を実現できます。

MySQLサーバーの健康とパフォーマンスを監視するには、システムの健康、パフォーマンスメトリック、クエリの実行に注意する必要があります。 1)システムの健康を監視する:Top、HTOP、またはShowGlobalStatusコマンドを使用して、CPU、メモリ、ディスクI/O、ネットワークアクティビティを表示します。 2)パフォーマンスインジケーターの追跡:クエリ番号あたりのクエリ番号、平均クエリ時間、キャッシュヒット率などのキーインジケーターを監視します。 3)クエリ実行の最適化を確保します:スロークエリログを有効にし、実行時間が設定されたしきい値を超えるクエリを記録し、最適化します。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

MySQLはGPLライセンスを使用します。 1)GPLライセンスにより、MySQLの無料使用、変更、分布が可能になりますが、変更された分布はGPLに準拠する必要があります。 2)商業ライセンスは、公的な変更を回避でき、機密性を必要とする商用アプリケーションに適しています。

Myisamの代わりにInnoDBを選択する場合の状況には、次のものが含まれます。1)トランザクションサポート、2)高い並行性環境、3)高いデータの一貫性。逆に、Myisamを選択する際の状況には、1)主に操作を読む、2)トランザクションサポートは必要ありません。 INNODBは、eコマースプラットフォームなどの高いデータの一貫性とトランザクション処理を必要とするアプリケーションに適していますが、Myisamはブログシステムなどの読み取り集約型およびトランザクションのないアプリケーションに適しています。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック









