SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
MySQL には、年齢の計算や日付の一部の抽出など、日付の計算に使用できる関数がいくつか用意されています。 それぞれのペットが何歳なのかを判別するには、TIMESTAMPDIFF() 関数を使用します。 引数は、結果を表す単位と、差異を取る 2 つの日付です。 次のクエリーでは、各ペットの生年月日、現在の日付、および年齢が表示されます。 出力の最後のカラムラベルに意味を持たせるために、エイリアス (age) が使用されています。 mysql> SELECT name, birth, CURDATE(), TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age FROM pet; +----------+------------+------------+------+ | name | birth | CURDATE() | age | +----------
Section Navigation [Toggle] 13.5.10 InnoDB トランザクション モデルとロック13.5.10.1 InnoDB ロック モード 13.5.10.2 InnoDB と AUTOCOMMIT 13.5.10.3 InnoDB と TRANSACTION ISOLATION LEVEL 13.5.10.4 一貫非ロック読み取り 13.5.10.5 SELECT ... FOR UPDATE と SELECT ... LOCK IN SHARE MODE ロック読み取り 13.5.10.6 ネクスト キー ロック:バグの問題を防ぐ 13.5.10.7 InnoDB 内での一貫した読み取りの例 13.5.10.8 InnoDB 内で各種 SQL ステートメントによって設定されるロック 13.5.10.9 暗黙的なトランザクション コミットとロールバッ
MySQL から errno 23 または errno 24 で ERROR 'file_name' not found (errno: 23)、Can't open file: file_name (errno: 24)、またはその他のエラーが発生した場合は、MySQL サーバーに十分なファイル記述子が割り当てられていないことを意味します。 perror ユーティリティーを使用すると、エラー番号の意味の説明を取得できます。 shell> perror 23 OS error code 23: File table overflow shell> perror 24 OS error code 24: Too many open files shell> perror 11 OS error code 11: Resource temporarily unavailable ここでの問題は
mysqldump クライアントユーティリティは logical backups を実行し、元のデータベースオブジェクト定義およびテーブルデータを再現するために実行できる一連の SQL ステートメントを生成します。 別の SQL サーバーにバックアップまたは転送するために、1 つ以上の MySQL データベースをダンプします。 mysqldump コマンドは、CSV、その他の区切り文字で区切られたテキスト、または XML 形式でも出力を生成できます。 複数のスレッド、ファイル圧縮、進捗情報の表示、および Oracle Cloud Infrastructure Object Storage ストリーミングや MySQL データベースサービス 互換性チェックおよび変更などのクラウド機能で並列ダンプを提供する MySQL Shell dump utilities の使用を検討してください。 ダン
複数の文字セットおよび照合順序のシステム変数は、サーバーとのクライアントの通信に関係しています。 これらのいくつかは、これまでのセクションですでに説明されています。 character_set_server および collation_server システム変数は、サーバーの文字セットと照合順序を示します。 セクション10.3.2「サーバー文字セットおよび照合順序」を参照してください。 character_set_database および collation_database システム変数は、デフォルトデータベースの文字セットおよび照合順序を示します。 セクション10.3.3「データベース文字セットおよび照合順序」を参照してください。 その他の文字セットおよび照合順序システム変数は、クライアントとサーバー間の接続のトラフィックの処理に関わっています。 すべてのクライアントには、セッション固
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
このセクションでは、MySQL が ORDER BY 句を満たすためにインデックスを使用できるタイミング、インデックスを使用できない場合に使用される filesort 操作、および ORDER BY に関するオプティマイザから使用可能な実行計画情報について説明します。 セクション8.2.1.19「LIMIT クエリーの最適化」 で説明されているように、LIMIT を使用する場合と使用しない場合で ORDER BY が異なる順序で行を返すことがあります。 場合によっては、MySQL でインデックスを使用して ORDER BY 句を満たし、filesort 操作の実行に伴う余分なソートを回避できます。 インデックスのすべての未使用部分と追加の ORDER BY カラムが WHERE 句の定数であるかぎり、ORDER BY がインデックスと完全に一致しない場合でもインデックスを使用できます。 ク
インデックスは特定のカラム値のある行をすばやく見つけるために使用されます。 インデックスがないと、MySQL は関連する行を見つけるために、先頭行から始めてテーブル全体を読み取る必要があります。 テーブルが大きいほど、このコストが大きくなります。 テーブルに問題のカラムのインデックスが含まれている場合、MySQL はすべてのデータを調べる必要なく、データファイルの途中のシークする位置をすばやく特定できます。 これはすべての行を順次読み取るよりはるかに高速です。 ほとんどの MySQL インデックス (PRIMARY KEY、UNIQUE、INDEX、および FULLTEXT) は B ツリーに格納されます。 例外: 空間データ型のインデックスは R ツリーを使用します。MEMORY テーブルはハッシュインデックスもサポートします。InnoDB は FULLTEXT インデックスの逆のリスト
InnoDB および MyISAM テーブルの場合、MySQL では、通常のインデックスを作成する場合と同様の構文を使用して空間インデックスを作成できますが、SPATIAL キーワードを使用します。 空間インデックスのカラムは、NOT NULL と宣言する必要があります。 次の各例では空間インデックスの作成方法を示します。 CREATE TABLE を使用する場合: CREATE TABLE geom (g GEOMETRY NOT NULL SRID 4326, SPATIAL INDEX(g)); ALTER TABLE を使用する場合: CREATE TABLE geom (g GEOMETRY NOT NULL SRID 4326); ALTER TABLE geom ADD SPATIAL INDEX(g); CREATE INDEX を使用する場合: CREATE TABLE
実行されるステートメントをサーバーに送信しようとしたときに、MySQL クライアントライブラリが接続が停止していることを検出した場合、それはサーバーへの自動再接続を実行できます。自動再接続が有効にされている場合、ライブラリは 1 回サーバーに再接続し、ステートメントを再度送信しようとします。 MySQL 5.6 では、自動再接続はデフォルトで無効にされています。 アプリケーションで、接続が切断されたことを知ることが重要な場合 (状態情報の損失に合わせて終了したり、アクションをとったりできるように)、自動再接続が無効にされるようにしてください。これを確実にするには、MYSQL_OPT_RECONNECT オプションを使用して mysql_options() を呼び出します。 my_bool reconnect = 0; mysql_options(&mysql, MYSQL_OPT_RECO
#文字から行末まで。 -- シーケンスから行末まで。 MySQL では、-- (二重ダッシュ) のコメントスタイルは、2 番目のダッシュに少なくとも 1 つの空白または制御文字 (空白、タブ、改行など) を続ける必要があります。 セクション1.7.2.4「コメントの先頭としての「--」」で述べているように、この構文は標準 SQL のコメントの構文とは少し異なります。 C プログラミング言語のように、/* シーケンスから次の */ シーケンスまで。 この構文では、開始と終了のシーケンスは同じ行にある必要はないので、複数の行にわたってコメントを記すことができます。 次の例には、3 つのコメントスタイルがすべて示されています。 mysql> SELECT 1+1; # This comment continues to the end of line mysql> SELECT 1+1; --
信頼性とスケーラビリティを向上させるために InnoDB に変換する MyISAM テーブルがある場合は、変換する前に次のガイドラインとヒントを確認してください。 以前のバージョンの MySQL で作成されたパーティション化された MyISAM テーブルは、MySQL 8.0 と互換性がありません。 このようなテーブルは、パーティション化を削除するか、InnoDB に変換して、アップグレード前に準備する必要があります。 詳細は、セクション24.6.2「ストレージエンジンに関連するパーティショニング制限」を参照してください。 MyISAM テーブルから移行するときに、結果をキャッシュする際に必要でなくなったメモリーが解放されるように、key_buffer_size 構成オプションの値を小さくします。 InnoDB テーブル用のキャッシュメモリー割り当てと同様の役割を担う innodb_buf
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
MySQL はすべての標準 SQL 数値データ型をサポートします。 これらの型は、概数値データ型 (FLOAT、REAL、DOUBLE PRECISION) だけでなく、真数値データ型 (INTEGER、SMALLINT、DECIMAL、NUMERIC) を含みます。 キーワード INT は INTEGER のシノニムで、キーワード DEC および FIXED は DECIMAL のシノニムです。 MySQL では、DOUBLE は DOUBLE PRECISION (非標準の拡張) のシノニムと見なされます。 また、REAL_AS_FLOAT SQL モードが有効でないかぎり、REAL は DOUBLE PRECISION (非標準のバリエーション) のシノニムと見なされます。 BIT データ型はビット値を格納し、MyISAM, MEMORY, InnoDB および NDB テーブルでサ
スロークエリーログは、実行に long_query_time 秒を超える時間がかかり、少なくとも min_examined_row_limit 行を検査する必要がある SQL ステートメントで構成されます。 スロークエリーログは、実行に長い時間がかかっているため最適化の候補となるクエリーを見つけるために使用できます。 ただし、長いスロークエリーログの調査には時間がかかる場合があります。 これを簡単にするために、mysqldumpslow コマンドを使用してスロークエリーログファイルを処理し、その内容を要約できます。 セクション4.6.9「mysqldumpslow — スロークエリーログファイルの要約」を参照してください。 初期ロックを取得する時間は実行時間として計算されません。mysqld がスロークエリーログにステートメントを書き込むのは、ステートメントが実行されて、すべてのロックが解
ロック読み取り (SELECT ... FOR UPDATE および SELECT ... LOCK IN SHARE MODE)
true または false であるシステム変数は、サーバー起動時に変数の名前を指定することで有効にすることができ、--skip- プリフィクスを使用することで無効にすることができます。 たとえば、InnoDB 適応ハッシュインデックスを有効または無効にするには、コマンドラインで --innodb-adaptive-hash-index または --skip-innodb-adaptive-hash-index を使用するか、オプションファイルで innodb_adaptive_hash_index または skip_innodb_adaptive_hash_index を使用します。 数値が指定されるシステム変数は、コマンド行で --var_name=value として指定するか、オプションファイルで var_name=value として指定できます。 多くのシステム変数は、実行時に変更
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く