ロック読み取り (SELECT ... FOR UPDATE および SELECT ... LOCK IN SHARE MODE)
ロック読み取り (SELECT ... FOR UPDATE および SELECT ... LOCK IN SHARE MODE)
通信パケットは、MySQL サーバーに送信される単一の SQL ステートメント、クライアントに送信される単一行、またはソースレプリケーションサーバーからレプリカに送信されるバイナリログイベントです。 MySQL 8.0 Server およびクライアント間で転送可能なパケットの最大サイズは 1G バイトです。 MySQL クライアントまたは mysqld サーバーが max_allowed_packet バイトより大きいパケットを受け取ると、ER_NET_PACKET_TOO_LARGE エラーが発行され、接続が失われます。 一部のクライアントでは、パケットが大きすぎる場合、「クエリー中に MySQL サーバーへの接続が失われました」というエラーを受け取ることもあります。 クライアントとサーバーの両方にそれぞれ max_allowed_packet 変数があるため、大きなパケットを処理する場
タスク: 物品ごとに最高値を付けている業者 (複数可) を調べます。 この問題は、次のようなサブクエリーを使用して解決できます。 SELECT article, dealer, price FROM shop s1 WHERE price=(SELECT MAX(s2.price) FROM shop s2 WHERE s1.article = s2.article) ORDER BY article; +---------+--------+-------+ | article | dealer | price | +---------+--------+-------+ | 0001 | B | 3.99 | | 0002 | A | 10.99 | | 0003 | C | 1.69 | | 0004 | D | 19.95 | +---------+--------+-------
Option Defaults, Options Expecting Values, and the = Sign
あるステートメントのユーザー定義変数に値を格納し、後で別のステートメントで参照できます。 これにより、あるステートメントから別のステートメントに値を渡すことができます。 ユーザー変数は@var_name として記述され、変数名 var_name は英数字、.、_および $ で構成されます。 ユーザー変数名を文字列や識別子として引用符で囲めば、ほかの文字も含めることができます (@'my-var'、@"my-var"、@`my-var` など)。 ユーザー定義変数はセッション固有です。 あるクライアントで定義されたユーザー変数は、他のクライアントでは表示または使用できません。 (例外: パフォーマンススキーマ user_variables_by_thread テーブルへのアクセス権を持つユーザーは、すべてのセッションのすべてのユーザー変数を表示できます。) 所定のクライアントセッションのすべ
サーバーの再起動後の warmup 期間を短縮するために、InnoDB では、サーバーの停止時にバッファプールごとに最近使用されたページの割合が保存され、サーバーの起動時にこれらのページがリストアされます。 最近使用されたページのうち、格納されたページの割合は、innodb_buffer_pool_dump_pct 構成オプションによって定義されます。 ビジー状態のサーバーを再起動した後、バッファプール内にあったディスクページがメモリーに戻されるため (同じデータがクエリー、更新などされるため)、通常はスループットが急激に向上するウォームアップ期間があります。 起動時にバッファプールをリストアする機能により、DML 操作が対応する行にアクセスするのを待機するのではなく、再起動前にバッファプールにあったディスクページをリロードすることでウォームアップ期間が短縮されます。 また、I/O リクエ
FEDERATED ストレージエンジンを使用すると、レプリケーションまたはクラスタの技術を使用しないで、リモートの MySQL データベースのデータにアクセスできます。 ローカルの FEDERATED テーブルにクエリーを発行すると、リモート (連合) テーブルからデータを自動的に取得します。 データはローカルテーブルに格納されません。 ソースから MySQL を構築する場合に FEDERATED ストレージエンジンを含めるには、CMake を -DWITH_FEDERATED_STORAGE_ENGINE オプションで呼び出します。 FEDERATED ストレージエンジンは、デフォルトでは動作中のサーバーで有効になっていません。FEDERATED を有効にするには、--federated オプションを使用して MySQL サーバーバイナリを起動する必要があります。 FEDERATED エ
MySQL Server は異なる SQL モードで動作でき、sql_mode システム変数の値に応じて異なるクライアントにこれらの異なるモードを適用できます。 DBA はサイトサーバーの動作要件に一致するグローバル SQL モードを設定でき、各アプリケーションはアプリケーションのセッション SQL モードをアプリケーション独自の要件に設定できます。 モードは MySQL がサポートする SQL 構文と、MySQL が実行するデータ検証に影響します。 これにより、MySQL をさまざまな環境で使用したり、MySQL をほかのデータベースサーバーと一緒に使用したりすることが、さらに容易になります。 MySQL のサーバー SQL モードについてのよくある質問に対する回答は、セクションA.3「MySQL 8.0 FAQ: サーバー SQL モード」を参照してください。 InnoDB テーブルを
正規表現は、複雑な検索でパターンを指定する強力な方法です。 このセクションでは、正規表現の照合に使用できる関数と演算子について説明し、正規表現の操作に使用できる特殊文字と構造の一部を例とともに示します。 セクション3.3.4.7「パターンマッチング」も参照してください。 MySQL では、Unicode の国際コンポーネント (ICU) を使用した正規表現サポートが実装されています。ICU は完全な Unicode サポートを提供し、マルチバイトセーフです。 (MySQL 8.0.4 より前では、MySQL は Henry Spencer による正規表現の実装を使用していました。これはバイト単位で動作し、マルチバイトセーフではありません。 正規表現を使用するアプリケーションが実装の変更の影響を受ける方法の詳細は、正規表現の互換性に関する考慮事項 を参照してください。) expr NOT R
Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
Titan is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time. In addition, Titan provides the following features: Elastic and linear scalability for a growin
graph_database_memo.md グラフデータベースの何がいいのか? RDBMSでよくね? 本1冊ぐらい読んで判断してください https://neo4j.com/book-graph-databases/ いろいろあるけど判断ポイントはこのあたりかな http://www.allthingsdistributed.com/2015/08/titan-graphdb-integration-in-dynamodb.html In this way, graphs can scale to billions of vertices and edges, while allowing efficient queries and traversal of any subset of the graph with consistent low latency that doesn’t
Introduction This is the reference manual for the Go programming language. The pre-Go1.18 version, without generics, can be found here. For more information and other documents, see go.dev. Go is a general-purpose language designed with systems programming in mind. It is strongly typed and garbage-collected and has explicit support for concurrent programming. Programs are constructed from packages
データのクエリーを実行してから、同じトランザクション内で関連データを挿入または更新する場合は、通常の SELECT ステートメントで十分な保護が提供されません。 ほかのトランザクションは、クエリーが実行されたばかりの同じ行を更新または削除できます。 InnoDB では、追加の安全性が提供される 2 つのタイプのロック読み取りがサポートされています。 SELECT ... FOR SHARE 読み取られる行に共有モードロックを設定します。 ほかのセッションもその行を読み取ることができますが、トランザクションがコミットするまで変更することはできません。 これらの行のいずれかがコミットされていない別のトランザクションによって変更された場合、クエリーはそのトランザクションが終了するまで待機してから、最新の値を使用します。 SELECT ... FOR SHARE は SELECT ... LOCK
このセクションでは、値のセットを演算するグループ (集約) 関数について説明します。特に指定されていなければ、グループ関数では NULL 値が無視されます。 GROUP BY 句を含まないステートメントでグループ関数を使用する場合は、すべての行をグループ化することと同等になります。詳細は、セクション12.19.3「MySQL での GROUP BY の処理」を参照してください。 数値の引数の場合、分散および標準偏差関数が DOUBLE 値を返します。SUM() および AVG() 関数は、正確な値の引数 (整数または DECIMAL) の場合は DECIMAL 値を返し、近似値の引数 (FLOAT または DOUBLE) の場合は DOUBLE 値を返します。 SUM() および AVG() 集計関数は時間値を扱いません。(これらは値を数字に変換するので、最初の数字以外の文字のあとのすべて
Abstract This is the MySQL Reference Manual. It documents MySQL 8.0 through 8.0.38, as well as NDB Cluster releases based on version 8.0 of NDB through 8.0.38, respectively. It may include documentation of features of MySQL versions that have not yet been released. For information about which versions have been released, see the MySQL 8.0 Release Notes. MySQL 8.0 features. This manual describes fe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く