並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 190件

新着順 人気順

mysqlの検索結果121 - 160 件 / 190件

  • MySQLの基本構文④UPDATE文:すでにあるデータを変更する。

    今回は、前回に引き続き、SQL文の4大コマンドの1つ、 『UPDATE文』について解説していきます。 UPDATEは、直訳すると更新です。 このUPDATE文は、データテーブルにすでに存在するデータを更新するコマンドです。 例えば、前回のInsert文でデータをデータテーブルに格納したあと、 データの変更・更新をしたい場合に使います。 UPDATE文でデータを更新する場合、 既にあるデータ列を指定することが必須となります。 そうでないと、すべてのデータを更新することになってしまい、 意図せずデータが変わってしまうためです。 更新するデータ列を指定する方法が、 以前解説したWhere句です。

      MySQLの基本構文④UPDATE文:すでにあるデータを変更する。
    • MySQL 5.7からMySQL 8.0へのバージョンアップ - MySQLを継続してお使いいただくために

      2015年10月にリリースされたMySQL 5.7はJSONデータ型やマルチソースレプリケーションなどの新機能が追加されたほか、InnoDBのバッファプールサイズのオンラインでの変更や全文検索のサポート、運用関連ではsyslogやDTraceのサポートなど多数の改良が行われたバージョンでした。2023年10月にマイナーバージョンや新規パッチがリリースされなくなるSustaining Supportのフェーズに移行します。 このウェビナーでは改めてMySQL 5.7からMySQL 8.0へのバージョンアップ手順や注意点などを解説します。

        MySQL 5.7からMySQL 8.0へのバージョンアップ - MySQLを継続してお使いいただくために
      • MySQL5.7とMySQL8.0のパフォーマンスの違いを計測してみた

        はじめに MySQL8.0 を使ったユニットテストがどうにも遅いので、気になって計測してみた。特に Truncate が遅い気がしたので検証。 MySQL5.7(5.7.44)と MySQL8.0(8.0.28)で比較する。 検証コード iwahara/mysql_performance: 記事用のパフォーマンス計測コード 検証用テーブル 検証に使うテーブル定義は以下の通り。主キーのみのテーブルと、index を1つ、2つ、3つ設定したテーブルを用意した。 照合順序は揃えてある。 CREATE TABLE `no_index` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(256) NOT NULL, `code1` varchar(8) NOT NULL, `code2` varchar(8) NOT NU

          MySQL5.7とMySQL8.0のパフォーマンスの違いを計測してみた
        • MySQLのMVCCとトランザクション内における集計について

          この記事は何? トランザクション分離レベルがRead CommittedなときのMVCCの挙動とトランザクション内における集計で学びがあったので忘備録として共有します。 そもそも、MVCCとは? MVCC(Multi-Version Concurrency Control)は、各トランザクションに一意なバージョンを付与する技術です。データへの同時アクセスが行われた際、各トランザクションが独自のデータバージョンを持つことで、データへの競合を回避させ、並列処理を実現します。このアプローチにより、読み取りと書き込みの操作が相互にブロックされず、システム全体の効率とパフォーマンスが向上します。 Read Committedのトランザクション分離レベルにおけるMVCCの特性は、トランザクション内でデータを読み取る際、そのトランザクションが開始された時点でのコミット済みのデータのみを参照できることです

            MySQLのMVCCとトランザクション内における集計について
          • Zero-ETL integrationの実用を試みた。 しかし、Aurora MySQLの中身の〇〇が多すぎて失敗した。 - KAYAC engineers' blog

            SREチームの池田です。 Redshiftが大好きなバケツアイコンの人です。 先日、Aurora MySQL と RedshiftのZero-ETL integrationがGA(Generally Available、一般提供開始)しました。 aws.amazon.com この記事は、早速Zero-ETL integrationの実戦投入を試してみたという内容です。 なお、この記事は失敗事例になりますが、Zero-ETL integrationはとても素晴らしい機能ですので、皆様も是非お使いください。 はじめに Zero-ETL integrationは、Aurora MySQLのデータをニアリアルタイムでRedshiftに同期してくれる素晴らしい機能です。 マネージメントコンソールから数ステップでAurora MySQLの中の すべてのテーブルを Redshiftに同期してくれます。

              Zero-ETL integrationの実用を試みた。 しかし、Aurora MySQLの中身の〇〇が多すぎて失敗した。 - KAYAC engineers' blog
            • 第213回 mysqlクライアントのsafe-updatesオプション | gihyo.jp

              mysqlコマンドクライアントに--safe-updatesというオプションがあります。このオプションをつけるとSafe Updateモードでクライアントを利用することができ、特定の条件の更新作業ができないように制御できるようになります。今回はこのオプションについて見ていきましょう。 なお、今回利用しているMySQLはバージョン8.0.35になります。 --safe-updates mysqlコマンドクライアントに--safe-updatesを付与して起動すると、Safe Updateモードとしてクライアントが起動されます。 $ mysql -h 127.0.0.1 -P 3306 -u root -p --safe-updates このモードが有効になっていると、UPDATE文やDELETE文を実行するときに、WHERE句がない場合にエラーを返すようになります。Safe Updateモー

                第213回 mysqlクライアントのsafe-updatesオプション | gihyo.jp
              • prismaのschemaファイルの書き方(MySQL用) - White Box技術部

                フルNext.jsアプリケーション作成の一環で、DBマイグレーションツールにprismaを使ってみたので、書き方のメモです。 いきなりですが、prismaは細かくDDL文を制御できず、思ったテーブルを作れなかったので、細かくテーブル定義を設定したい場合はTypeORMの方がいいかもしれません。 準備 プロジェクトにprismaをインストールし、初期ファイル(prisma/schema.prisma)を作成します。 $ yarn add -D prisma $ yarn run prisma init schema.prismaの書き方 公式ドキュメントの書き方を参考に、スキーマをschema.prismaに記載していきます。 記載する際の注意点・考慮点は以下です。 providerをmysqlに変更する @db.Timestampではなく@db.Timestamp(0)のように書かないとマ

                  prismaのschemaファイルの書き方(MySQL用) - White Box技術部
                • MySQL 8.3.0 で --character-set-client-handshake が削除された件について ~ go-sql-driver/mysqlとmysqlndを添えて ~ | GREE Engineering

                  こんにちわ。せじまです。 相変わらずPHPよくわかんないんですが、今日もPHPの話をします。あと、goの話もちょっとだけします。書いてるうちに少し長文になってしまいましたが、内容としてはゆるふわと言えるんじゃないでしょうか。 でははじめます。 はじめに MySQL 8.2.0 の release notes で The --character-set-client-handshake server option, originally intended for use with upgrades from very old versions of MySQL, is now deprecated, and a warning is issued whenever it is used. You should expect this option to be removed in a fut

                    MySQL 8.3.0 で --character-set-client-handshake が削除された件について ~ go-sql-driver/mysqlとmysqlndを添えて ~ | GREE Engineering
                  • Debugging mysqlnd.so ~mysql_native_passwordが廃止される未来に備えて~ | GREE Engineering

                    こんにちわ。せじまです。PHPには疎いんですが、今回は珍しくPHPの話をします。 はじめに 2023-07-18 に MySQL 8.1.0 がリリースされました。いくつか気になる変更が入っているのですが、今回は The mysql_native_password authentication plugin now is deprecated and subject to removal in a future version of MySQL. CREATE USER, ALTER USER, and SET PASSWORD operations now insert a deprecation warning into the server error log if an account attempts to authenticate using mysql_native_pass

                      Debugging mysqlnd.so ~mysql_native_passwordが廃止される未来に備えて~ | GREE Engineering
                    • 【独学ポートフォリオ】野球観戦アプリ「Baseball Memory」を開発してみました(Rails × MySQL × Heroku × Docker) - Qiita

                      【独学ポートフォリオ】野球観戦アプリ「Baseball Memory」を開発してみました(Rails × MySQL × Heroku × Docker)RailsMySQLHerokuDockerポートフォリオ はじめに はじめまして!sekkey_777と申します。 今年で29歳の社会人5年目です。 大学時代は、化学を専攻しており、白衣着て朝から晩まで実験していました。 新卒1年目は工場で勤務していましたが、3年目になる際に社内の公募でIT系の部署に移動し、現在まで2年ほどSIer的な業務に従事しております。 現職では主に総合テストなどの品質管理、ベンダーとの調整を任されることが多いです。 2022年の10月頃から簡単な自社サービスの改修にも携わっており、Python、TypeScript、AWS、Docker、SQLなどに触れていますが、開発の経験としては浅い方です。 私としてはもっ

                        【独学ポートフォリオ】野球観戦アプリ「Baseball Memory」を開発してみました(Rails × MySQL × Heroku × Docker) - Qiita
                      • Amazon Aurora MySQL3におけるバイナリログの最適化 | Amazon Web Services

                        Amazon Web Services ブログ Amazon Aurora MySQL3におけるバイナリログの最適化 本記事は、2024年5月17日に公開された Binary logging optimizations in Amazon Aurora MySQL version 3 を翻訳したものです。 MySQLのバイナリログ(binlog)は、MySQLサーバ上のデータベースの変更を”イベント”と呼ばれる論理フォーマットでキャプチャするために使用されます。これらのデータベース変更には、DCL(CREATE USERやGRANTなど)、DDL(CREATE TABLE、ALTER TABLEなど)、DML(INSERT、UPDATE、DELETEなど)が含まれます。そのような変更がMySQLでコミットされると、サーバは 2-phase commit(2PC)を用いてトランザクションのバ

                          Amazon Aurora MySQL3におけるバイナリログの最適化 | Amazon Web Services
                        • dockerコンテナからmysqlに接続出来なくて困った話 | DevelopersIO

                          MySQLに接続するだけの作業に4時間かけた男がいた エンジニアのくせにMySQLの接続ごときで四苦八苦する奴おりゅ? ・ ・ ・ 私です。。 週に一度はなにかしらでドツボにハマッて泣きながらトラブルシューティングしている私ですが、今回はMySQLの接続でどハマリしました。 プライベートサブネットのRDSにローカル開発端末から直接接続したい プライベートサブネットにあるAmazon RDS for MySQL(以後RDS)にローカルの開発端末からインターネット越しに直接接続したいというご要望がありました。 AWS Systems Manager Session Manager(以後Session Manager)で接続できるEC2がある環境でしたので、Session Managerを介したポートフォワーディングにより接続する方法を試していました。 構成図としては以下のようになります。 なお

                            dockerコンテナからmysqlに接続出来なくて困った話 | DevelopersIO
                          • Amazon Aurora と Amazon RDS が MySQL と PostgreSQL データベースの延長サポートを発表

                            Amazon Relational Database Service (RDS) は、MySQL 5.7、PostgreSQL 11、およびそれ以降のメジャーバージョンを実行している Amazon Aurora および Amazon RDS データベースインスタンスの Amazon RDS 延長サポートを、コミュニティのサポート終了後も継続することを発表しました。Amazon RDS 延長サポートを利用すると、ビジネス要件を満たすのに役立つ新しいメジャーバージョンへのアップグレードを最大 3 年間延期できます。延長サポートは、Aurora MySQL 互換エディション、Aurora PostgreSQL 互換エディション、RDS for MySQL、RDS for PostgreSQL でご利用いただけます。 データベースを延長サポートに登録すると、コミュニティがメジャーバージョンのサポー

                              Amazon Aurora と Amazon RDS が MySQL と PostgreSQL データベースの延長サポートを発表
                            • MySQL 8.4 First Peek

                              MySQL 8.4 has now been officially released, and this is a quick review of what is in the release notes. This is momentous as it is designated a Long-Term Support (LTS) release. Various 8.0 releases introduced material changes that impacted speed and stability, causing hair-pulling and swearing among those affected. Please note this is a first peek at the release notes, and comments in italics are

                                MySQL 8.4 First Peek
                              • メトリックプラグイン - mackerel-plugin-mysql - Mackerel ヘルプ

                                mackerel-plugin-mysqlはクエリの実行回数など、MySQLに関する各種メトリックを監視できます。 MySQLのバージョンによりプラグインのインストール方法が異なります。あらかじめプラグインのインストール方法をご確認の上でご利用ください。 プラグインのインストール方法 MySQL 5.7以降、MySQL 8.0以降をご利用の場合 上記より古いバージョンをご利用の場合 監視できるメトリック 標準メトリック MySQL Command MySQL Join/Scan MySQL Threads MySQL Connections MySQL Slave status MySQL Table Locks/Slow Queries MySQL Traffic MySQL Capacity InnoDBに関するメトリック MySQL innodb Rows MySQL innodb

                                  メトリックプラグイン - mackerel-plugin-mysql - Mackerel ヘルプ
                                • ぼくたちはMySQL 8.1とどう生きるか

                                  2023/08/28 MySQL Innovation Day Tokyo 2023 https://www.oracle.com/jp/events/mysql-day/

                                    ぼくたちはMySQL 8.1とどう生きるか
                                  • Oracle、508件の脆弱性に対処 ~「Java」で8件、「VirtualBox」で4件、「MySQL」で24件/2023年7月「Critical Patch Update」を実施

                                      Oracle、508件の脆弱性に対処 ~「Java」で8件、「VirtualBox」で4件、「MySQL」で24件/2023年7月「Critical Patch Update」を実施
                                    • Is ANALYZE TABLE Safe on a Busy MySQL Database Server?

                                      Sometimes, there is a need to update the table and index statistics manually using the ANALYZE TABLE command. Without going further into the reasons for such a need, I wanted to refresh this subject in terms of overhead related to running the command on production systems. However, the overhead discussed here is unrelated to the usual cost of diving into table rows to gather statistics, which we c

                                        Is ANALYZE TABLE Safe on a Busy MySQL Database Server?
                                      • MySQL(InnoDB)における各種ロックの挙動を調べてみた

                                        はじめに みなさんこんにちはメリークリスマス🎄 ついにアドベントカレンダー最終日!!! 現在SODAでwebエンジニアをしているtoshikiです。(3記事目で謎の自己紹介) CTOからflexispotのデスクを譲り受ける代わりにテックブログ3記事執筆するという約束を果たすべく、SODAのAdvent Calendar 2023で3枠担当することになり、この記事をもって無事プレゼントの配達が完了しました🎅(sorenani) 今日はクリスマス当日ということで、自分自身理解が曖昧だったMySQLのストレージエンジンであるInnoDBのロック周りの挙動をMySQLの公式ドキュメントを読みつつ調査してまとめてみました。 この記事でわかるInnoDBのロックの種類 共有ロックと排他ロック インテンションロック ギャップロック ネクストキーロック 検証環境 MySQLのVersion mysq

                                          MySQL(InnoDB)における各種ロックの挙動を調べてみた
                                        • RDS for MySQLの監査ログは、rdsadmin等の特定ユーザーのログを除外設定にしても一部のログは保存されます | DevelopersIO

                                          RDS for MySQLの監査ログは、rdsadmin等の特定ユーザーのログを除外設定にしても一部のログは保存されます 困っていた内容 Amazon RDS for MySQLの監査ログを設定する際、AWS側で管理操作するユーザーであるrdsadminのアクティビティログは不要だったため、rdsadminを除外する設定を行いました。 しかし、CloudWatch Logsには以下のようにrdsadminユーザーのログが出力されていました。 20240117 xx:xx:xx,ip-xx-xx-xx-xx,rdsadmin,localhost,xx,xx,DISCONNECT,,,0,SOCKET 20240117 xx:xx:xx,ip-xx-xx-xx-xx,rdsadmin,localhost,xx,CONNECT,,,0,SOCKET 原因と対処方法を教えてください。 どう対応すれ

                                            RDS for MySQLの監査ログは、rdsadmin等の特定ユーザーのログを除外設定にしても一部のログは保存されます | DevelopersIO
                                          • Docker:Laravel9 + Nginx + MySQL + phpMyAdminで環境構築 - Qiita

                                            この記事の目的 最近、爆速でLaravelの環境構築を行うためLaravel Sailがありますが、やはり自身の手でDockerfileからコンテナ環境を構築をしたいと思い、備忘録の意味も込めて記事にしてみました。 何かインフラ環境を構築している気分になれます。 構築するコンテナ nginx Laravel(PHP) MySQL phpMyAdmin 構成 ディレクト、ファイルの構成は以下の通りです。 dockerディレクトリ直下にnginx、phpのDockerfileを作成します。 MySQLとphpMyAdminのイメージはdocker Hubからプルしてきます。 コンテナ実行の定義は、docker-compose.ymlに記述します。 test ├── docker │ ├── nginx │ │ ├── Dockerfile │ │ ├── default.conf │ │ └─

                                              Docker:Laravel9 + Nginx + MySQL + phpMyAdminで環境構築 - Qiita
                                            • [MySQL] datetime 列に対する検索速度効率の違いを検証する

                                              ▼ はじめに 本日は満席の運びでこれはどうも わたくし株式会社 Belong で Engineering Manager をしている七色メガネと申します いやはや九月になったというのにまだまだ暑いですねえ と言ってお天道様を憎む勇気もないしがない路傍石でございますから やれ異常気象だのやれ二季の到来だの世間様と足並み揃えてあちらで騒ぎこちらで踊りなどをしておるわけですけれどもええ 氷菓片手に暦をチラとみてみますと、今は暦の上では立秋といい秋の始まりに片足を突っ込んでいるというですから驚きです とはいえ九月の中頃まで続く暑さのことを残暑という慣わしは古くからあるそうで 立秋という言葉が涼の到来を表すものではないというのは昔から続くものというのはなんともおかしな話ではありますなあ 立という言葉から私は立てば芍薬、の句を連想しましたがそれをもじりまして一つ 立てば灼熱座れば炮烙歩く姿は湯気の中

                                                [MySQL] datetime 列に対する検索速度効率の違いを検証する
                                              • MySQL の InnoDB をオンメモリで使ってみる - SO Technologies 開発者ブログ

                                                こんにちは。 ATOM事業部の田村です。 今回は、MySQL の高速化の手段として、InnoDB エンジンをオンメモリで使った場合のパフォーマンスについて調査してみました。 はじめに MySQL には InnoDB エンジンだけではなく、他にもいくつものストレージエンジンがあります。 その中でも MEMORY エンジンは、その名の通りデータをメモリ上に持つため、処理が極めて高速という特徴があります。 ただし InnoDB とはいろいろ違う部分があり、InnoDB で使えていた SQL がそのまま通るわけではありません。 単に「高速化したい場合は InnoDB の代わりに MEMORY エンジンを使う」というわけには行かず、使い方・使い所をそれなりに考えてやる必要があります。 (詳細は Web 上に良質な記事が見つかるのでここでは省きます) MEMORY エンジンが真価を発揮するのは、キャッ

                                                  MySQL の InnoDB をオンメモリで使ってみる - SO Technologies 開発者ブログ
                                                • MySQLが利用できるおすすめレンタルサーバー3選

                                                  MySQLでレンタルサーバーを選ぶときのポイントは? という方もいるかもしれませんね。 MySQLはデータベースの一つになりますが、レンタルサーバーを選ぶときにどこを比較したらいいのかわからない、という方もいるかもしれま […]

                                                  • [アップデート] Amazon RDS for MySQL でも rds_superuser_role がサポートされるようになりました | DevelopersIO

                                                    [アップデート] Amazon RDS for MySQL でも rds_superuser_role がサポートされるようになりました いわさです。 先日のアップデートで Amazon RDS for MySQL が rds_superuser_role をサポートしたとアナウンスがありました。 私は前に別件で rds_superuser_role を触った記憶があり、「あれ、前から使えなかったっけ」と感じまして、過去バージョン含め検証してみることにしました。 RDS for MySQL でのバージョンごとに検証してみた アナウンスやドキュメントによると RSD for MySQL のバージョン 8.0.36 以上(執筆時点の最新バージョンは 8.0.36)でこのロールが有効になっているようです。 そこで本日は次のように 8.0.35 と 8.0.36 の環境を用意して検証してみることに

                                                      [アップデート] Amazon RDS for MySQL でも rds_superuser_role がサポートされるようになりました | DevelopersIO
                                                    • 第102回 連載100回記念第2弾「OSSデータベースは100ヶ月後も生き残れるか?」、MySQL 8.3.0のリリース、PostgreSQL最新情報 | gihyo.jp

                                                      OSSデータベース取り取り時報 第102回連載100回記念第2弾「OSSデータベースは100ヶ月後も生き残れるか?」⁠⁠、MySQL 8.3.0のリリース⁠⁠、PostgreSQL最新情報 この連載はOSSコンソーシアム データベース部会のメンバーがオープンソースデータベースの毎月の出来事をお伝えしています。前回紹介した連載100回記念セミナー第1弾につづく第2弾について報告します。 連載100回記念第2弾「OSSデータベースは100ヶ月後も生き残れるか?」 前回にお知らせしたとおり、1月27日のオープンソースカンファレンス(OSC)2024 Osaka(大阪開催)にて本連載の100回を記念した企画セミナーの第2弾を実施しました。今回のOSC 2024 Osakaは4年ぶりに展示とセミナーの両方が会場で開催することになり、OSSコンソーシアムメンバに加えてオープンソースソフトウェア協会(O

                                                        第102回 連載100回記念第2弾「OSSデータベースは100ヶ月後も生き残れるか?」、MySQL 8.3.0のリリース、PostgreSQL最新情報 | gihyo.jp
                                                      • 外部のMySQLをAWS Auroraに移行するTips | 外道父の匠

                                                        何度か外から AWS の Aurora MySQL へサービス移行をして知見が溜まっていたので、吐き出しておきます。DBA 専門的な人から見たら別におもろくない内容だと思いますので、初中級者の学習用教材です。 最初は全体の流れを全て書こうとしましたが、全く同じ流れでやることはないだろうと思い、部分ごとにこういうことを検討すればえぇんちゃうんくらいの Tips にしてみました。 目次 そこまで長くないですが Tips なので目次を置いておきます。 データ転送の方法 当日にバックアップ/リストア 事前にレプリケーションする 通常レプリケーション 直にグローバルアドレスへ接続 VPN経由で接続 レプリケーション開始 DMS経由レプリケーション リンク集 メリット 大まかな流れ 非対応 DDL binlog_format バックアップの方法 mysqldump mysqldump 独自並列 mys

                                                          外部のMySQLをAWS Auroraに移行するTips | 外道父の匠
                                                        • MySQL-Manage Memory Usage Efficiently

                                                          Introduction A few months back, we faced a significant challenge with our production database running MySQL 5.7. The issue was straightforward yet daunting: our MySQL server was consuming an unexpectedly high amount of memory, leading to degraded performance and, occasionally, service interruptions. This situation prompted us to embark on a comprehensive journey to understand how MySQL uses memory

                                                            MySQL-Manage Memory Usage Efficiently
                                                          • Amazon RedshiftへのAurora MySQL zero-ETLが一般提供を開始しました | DevelopersIO

                                                            Amazon Aurora MySQL zero-ETL integration with Amazon Redshiftが一般提供を開始しました! データアナリティクス事業本部 機械学習チームの鈴木です。 Amazon RedshiftへのAurora MySQL zero-ETLが一般提供を開始しました。東京リージョンでも利用可能です! Aurora MySQL zero-ETLとは Aurora MySQLからAmazon Redshiftへほぼリアルタイムの連携し、Redshiftでの分析と機械学習ができる、Amazon Aurora MySQL向けの機能になります。 この設定をしておくことにより、データがAuroraに書き込まれてから数秒以内に、そのデータはAmazon Redshiftで利用できるようになるという、非常に強力な機能です。 昨年のre:Invent2022で発表さ

                                                              Amazon RedshiftへのAurora MySQL zero-ETLが一般提供を開始しました | DevelopersIO
                                                            • 【個人開発】webアプリを作成しました【Rails,Javascript,MySQL,GitHub Actions,AWS EC2】 - Qiita

                                                              【個人開発】webアプリを作成しました【Rails,Javascript,MySQL,GitHub Actions,AWS EC2】JavaScriptRailsMySQLAWSGitHubActions アプケーション名 Quick Clean Restroom Map アプリケーション概要 最寄りの綺麗なトイレの位置をリアルタイムで案内し、トイレの情報を提供します。 URL 備考 EC2インタンスは通常時停止です。 アプリケーションを作成した背景 外出先で最寄りの綺麗なトイレを探すのが困難なことがあります。Google Mapsでは公共のトイレは多く表示されますが、綺麗なトイレをすぐに見つけることは難しいです。同様の問題を抱えている方が多いと思い、ユーザー同士で綺麗なトイレの情報を共有できるアプリケーションを開発することにしました。 アプリの画像 利用方法① 最寄りのトイレを探す 最寄

                                                                【個人開発】webアプリを作成しました【Rails,Javascript,MySQL,GitHub Actions,AWS EC2】 - Qiita
                                                              • MySQL の EXPLAIN FOR SCHEMA について

                                                                はじめに MySQLでSQLの実行計画を確認する際には、Explain文 の出力結果を確認するというのが王道です。 Explain文には、出力フォーマットをテーブル形式にしたり、JSON形式にしたりといった出力フォーマットを指定することができますが、その他にも Explainの取得方法を選択することもできます。 MySQL の Innovation リリースとして、バージョン 8.3.0 が先月リリースしましたが、今回は、一つ前の バージョン 8.2.0 で追加された EXPLAIN FOR SCHEMA について、従来の取得方法も簡単に紹介しながら、取り上げたいと思います。 バージョン 8.2.0 のリリースノートは以下となります。 Changes in MySQL 8.2.0 (2023-10-25, Innovation Release) EXPLAIN FOR CONNECTION

                                                                  MySQL の EXPLAIN FOR SCHEMA について
                                                                • Oracle、「MySQL」最初の“イノベーションリリース”「MySQL 8.1.0」を公開

                                                                  Oracleは2023年7月18日(米国時間)、「MySQL」の「イノベーションリリース」の最初のバージョン「MySQL 8.1.0」と、マイナーバージョン「MySQL 8.0.34」を公開し、これに合わせてMySQLの新しいリリースモデルを公式ブログで解説した。 MySQLは、オープンソースのリレーショナルデータベース管理システム(RDBMS)。MySQLの新しいリリースモデルは、MySQLを利用する顧客やユーザーの声に応えて、2023年3月開催の「MySQL Summit」で発表された。 MySQLの新しいリリースモデルでは、イノベーションリリースと「ロングタームサポート(Long-Term Support:LTS)リリース」の2本立てとなる。どちらのリリースも本番グレードの品質だが、以下のような違いがある。 イノベーションリリース 関連記事 MySQLを学べるアプリ開発者向け動画、P

                                                                    Oracle、「MySQL」最初の“イノベーションリリース”「MySQL 8.1.0」を公開
                                                                  • Don’t Start Using Your MySQL Server Until You’ve Configured Your OS

                                                                    Whenever you install your favorite MySQL server on a freshly created Ubuntu instance, you start by updating the configuration for MySQL, such as configuring buffer pool, changing the default datadir director, and disabling one of the most outstanding features – query cache. It’s a nice thing to do, but first things first. Let’s review the best practices we usually follow in Managed Services before

                                                                      Don’t Start Using Your MySQL Server Until You’ve Configured Your OS
                                                                    • Amazon Aurora MySQL DB クラスターから Amazon S3 バケット内のテキストファイルへのデータの保存 - Amazon Aurora

                                                                      Amazon Aurora MySQL DB クラスターから Amazon S3 バケット内のテキストファイルへのデータの保存 SELECT INTO OUTFILE S3 ステートメントを使用して、Amazon Aurora MySQL DB クラスターからクエリしたデータを直接 Amazon S3 バケット内のテキストファイルに保存できます。この機能を使用することで、初期にデータをクライアントに持ち込んだ後でクライアントから Amazon S3 にデータをコピーするという手順を省略できます。LOAD DATA FROM S3 ステートメントにより、このステートメントで作成されたファイルを使用してデータを Aurora DB クラスター内にロードできます。詳細については、「Amazon S3 バケットのテキストファイルから Amazon Aurora MySQL DB クラスターへのデー

                                                                      • 【MySQL】InnoDBのインデックス

                                                                        エンジニアの小張です。多くのデータを扱うアプリケーションにとって、ユーザーが求めるデータを返すまでの速さは生命線とも言えます。 試行錯誤を重ねデータの蓄積量が増えれば増えるほど、アプリケーションが使いづらくなってしまったら、悲しいですよね。。。 今回はそんなレスポンス速度向上に必須の知識であるインデックスについて、構造からおさらいしていきたいと思います。 インデックスとは、 データベース上でのSELECT、WHEREなどの操作による データの集計・検索の高速化に貢献する技術の1つです。 ここでは、MySQLで使用されるInnoDBのインデックスについて説明します。 B+木(B+Tree)について MySQLのInnoDBエンジンで使われるインデックスは、B+木というデータ構造で実装されています。 InnoDBのインデックスは、以下の種類があります。 クラスタインデックス セカンダリインデッ

                                                                          【MySQL】InnoDBのインデックス
                                                                        • MySQL Router 8.2.0 Read Write Splitting 機能 について

                                                                          MySQL Innovation Release 8.2.0 より、 MySQL Routerに待望の Read/Write Splitting 機能が追加されました。 類似の機能は MariaDB MaxScaleではすでに実装されていた り、 ProxySQLではユーザが設定すれば実現できた りしましたが、やっとMySQL Routerにも来たか…!という感じです。 今回はこの機能を検証してみたいと思います。 Read/Write Splitting とは Read/Write Splitting とは MySQL Router のルーティング候補の選択方法の一つです。 MySQL の従来からの非同期レプリケーションは、書込みが可能なプライマリノードが一つだけ存在し、そこからデータの複製(レプリケーション)を行うレプリカノードが複数ある、という構成になります。 レプリカノードは、負荷分

                                                                            MySQL Router 8.2.0 Read Write Splitting 機能 について
                                                                          • Amazon RDSのBlue/Green Deploymentsを使ってMySQLのアップグレードをやってみる~調査編~ - WILLGATE TECH BLOG

                                                                            弊社で利用しているMySQLのバージョンをMySQL5.7からMySQL8にアップグレードを行いました。その際に Blue/Green Deploymentsを使って実施する際にに調べた事をまとめて紹介したいと思います。 Blue/Green Deploymentsとは 制限事項 公式情報 検証した方々の情報 実際に検証をしてみてわかったこと 検証を踏まえて、実施する際にチェックする箇所 まとめ Blue/Green Deploymentsとは 現状の本番環境(Blue)を別に新しい本番環境(Green)を構築した上で接続先を切り替えるなどして新しい本番環境をリリースする運用方法です。 利点として システムのダウンタイムを短くできる ロールバックが容易 が挙げられます。 Amazon RDS Blue/Green Deploymentsの仕組みとしては、本稼働環境(以下Blue環境)と本稼

                                                                              Amazon RDSのBlue/Green Deploymentsを使ってMySQLのアップグレードをやってみる~調査編~ - WILLGATE TECH BLOG
                                                                            • コスト削減のため Redis の sorted sets で実装していたランキング処理を MySQL に移行しました - Mobile Factory Tech Blog

                                                                              駅メモ!チームエンジニアの id:yumlonne です。 この記事では Redis の sorted sets で実装していたランキング処理を MySQL に移行した仕組みを紹介します。 背景 駅メモ!には複数のランキングがあり、Redis の sorted sets を使うことでパフォーマンスの高いランキング処理を実現していました。 中にはリリースからの全期間に渡るデータを利用するランキングもあり、Redis のメモリ使用率は日に日に増えていく一方でした。 何度か Redis をスケールアップしてメモリを増やすことで対応していましたが、根本的に対応しなければ今後も Redis をスケールアップもしくはスケールアウトさせ続けるしか選択肢がなく、コストが増え続けてしまう状況でした。 調査したところ、一部のランキングがメモリ使用率の 2/3 程度を占めていることが判明しました。 そこで、その

                                                                                コスト削減のため Redis の sorted sets で実装していたランキング処理を MySQL に移行しました - Mobile Factory Tech Blog
                                                                              • Aurora MySQL 2から3へのバージョンアップで挙動が変わるSQL(2) - Qiita

                                                                                こんにちは。 本投稿では、Aurora MySQL 2 の EOS 対策として Aurora MySQL 3 へのバージョンアップ(MySQL 5.7からMySQL 8へのバージョンアップ)を検証した際に、Aurora MySQL 2で実行できていたSQLが3で実行できなくなるという情報をいただいたので、実際にそのSQLをSQLテストツール(Insight Database Testing)を使って確認してみた例を紹介します。 はじめに Auoroa MySQL 2から3 (MySQL 5.7から8) へのバージョンアップを考えた際、以下の変更点などのMySQLのドキュメントを参照することの多いのではないでしょうか? ここに書いてある変更がどんなものか、自分たちのサービスやアプリケーションで使用していないか、それらを探すのは骨の折れる作業だと思います。また、ここに書かれている内容以外にも何

                                                                                  Aurora MySQL 2から3へのバージョンアップで挙動が変わるSQL(2) - Qiita
                                                                                • MySQL SQLパフォーマンス改善 -実行計画の確認ポイント-

                                                                                  本記事の目的 本記事では MySQL(InnoDB) の SQL 性能調査・改善のために、実行計画の主要な確認ポイントを整理します。 また、SQL の重要な要素であるインデックスについても基本を簡単におさらいします。 なお、MySQL 実行計画の各種項目の意味は公式サイトに記載があるが、ぱっと見た時にどれが SQL の性能において重要度が高いのか少しわかりずらかったりしたので、今後のためにも記事に残すことにしました。 SQL パフォーマンスまわりで参考になった書籍や記事も最後に紹介していますので、ぜひそちらも合わせて参考にしてみてください。 インデックスとは インデックスはデータベースの中で特有の構造を持ち、CREATE INDEX 文で作成可能です。 SQL の性能に関わる重要な要素です。 データベースのインデックスは、分厚い紙の辞書から特定の用語を検索することに似ています。あらかじめ順

                                                                                    MySQL SQLパフォーマンス改善 -実行計画の確認ポイント-