並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 1403件

新着順 人気順

innodbの検索結果321 - 360 件 / 1403件

  • Who Ate My MySQL Table Rows?

    TL;DR ALTER TABLE and OPTIMIZE TABLE on an InnoDB table, which rebuilds the table without blocking concurrent changes to it (i.e., executed using INPLACE algorithm) and concurrent DML or purge activity on the table can occasionally lead to two significant problems: ALTER/OPTIMIZE TABLE failing with an unnecessary duplicate key error (even though there are no duplicate keys in it). Data loss. Yes,

      Who Ate My MySQL Table Rows?
    • MySQL でショート/ロングトランザクション実行中のインデックス作成の影響 - ablog

      MySQL (5.7 InnoDB) で本番稼働中にインデックス作成すると、対象テーブルにショートトランザクション実行中の場合は並行でできるけど、ロングトランザクションが実行中*1の場合は Waiting for table metadata lock (synch/cond/sql/MDL_context::COND_wait_status) で metadata lock を延々待ち続ける。DML はオブジェクト定義のメタデータに共有ロックを取り、DDL は排他ロックをかけるため、ロングトランザクションが実行中にインデックスを作成すると、そのトランザクションが終了するまで排他ロックを取れず待ち続ける。 環境 Aurora Mysql エンジンバージョン: 5.7.mysql_aurora.2.07.2 検証結果 sysbench を Amazon Linux 2 にインストールする A

        MySQL でショート/ロングトランザクション実行中のインデックス作成の影響 - ablog
      • ISUCON 9 決勝を AWS 環境に本番さながらに構築するメモ - その手の平は尻もつかめるさ

        github.com 今日 (2020-09-24) の時点では「ローカル環境」で動かす方法については記載がある一方で,何らかのリモートの環境に「本番」っぽく動かす方法についての記載が無いので,それを AWS 上に構築するためのメモを記します. 競技用 application のデプロイ isucon.net これを見る限り,参加者側の環境は以下の通り: アリババクラウドさんの ecs.sn1ne.large を採用しました。 CPUは2コア (Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz)、メモリは4GBの、オーバーコミットのないインスタンスです。ネットワーク帯域も100Mbpsです。 ただし、今回のアプリケーションではメモリに全ての切らない環境を再現するために、Linuxにはメモリを1GBしか認識させていません。CPUは2コアで、メモリ1GBの環境

          ISUCON 9 決勝を AWS 環境に本番さながらに構築するメモ - その手の平は尻もつかめるさ
        • Ubuntu18.04+MariaDBでいろいろやらかした話 | 雑廉堂の雑記帳

          Ubuntu18.04+MariaDBでいろいろやらかした話投稿者: zaturendo 投稿日: 2018年12月19日2018年12月19日 プロローグ 人生というのは失敗の連続だ。 失敗というもので、人は成長していく。要は、何度も繰り返さないことだ。 そして、今日もまた一つ失敗を積み重ねるのであった。 ノートPCに Ubuntu18.04 LTS 日本語REMIX版をインストールして、10日ほどになる。 こちらにインストールしている LibreOffice から mariadb に接続してみたくなったので、いつものようにPCを起動し、端末を起動して sudo apt update して、sudo apt upgrade とお決まりのコマンドを打ってシステムを更新。 本来デスクトップ用のソフトウェア管理ツールもあるのだけれど、そんなものいるかとばかりコマンドをドヤ顔でうつ。 スタタタ・

            Ubuntu18.04+MariaDBでいろいろやらかした話 | 雑廉堂の雑記帳
          • MySQL (or percona) memory usage tests · BlackIkeEagle's blog

            Thu, Apr 23, 2020 Recently we did some upgrades at work which were also updating the base OS. In general we did not expect too many issues since we were running tests and the operation of all parts was looking good. After the upgrades we noticed something was off with mysql. Some mysql machines were killing mysqld because of OOM (out-of-memory). You’ll see the kills with journalctl or in your sysl

            • Databases in 2023: A Year in Review

              I am starting this new year the same way I ended the last: taking antibiotics because my biological daughter brought home a nasty sinus bug from Carnegie Mellon’s preschool. This was after my first wife betrayed me and gave me COVID. Nevertheless, it is time for my annual screed on last year’s major database happenings and trends since a lot has happened. My goal is to keep my trenchant opinions f

                Databases in 2023: A Year in Review
              • PostgreSQL と MySQL の比較 - リレーショナルデータベース管理システム (RDBMS) の違い - AWS

                MySQL は、データを行と列を含むテーブルとして保存できるリレーショナルデータベース管理システムです。多くのウェブアプリケーション、動的な Web サイト、組み込みシステムを支える人気のシステムです。PostgreSQL は MySQL よりも多くの機能を提供するオブジェクトリレーショナルデータベース管理システムです。これにより、データ型、スケーラビリティ、同時実行性、およびデータ整合性がより柔軟になります。 MySQL について読む » PostgreSQL について読む » PostgreSQL と MySQL はどちらもリレーショナルデータベース管理システムです。これらは、共通の列値を介して相互に関連するテーブルにデータを格納します。例を示します。 ある会社では、顧客データを Customers という名前のテーブルに customer_id、customer_name、custo

                  PostgreSQL と MySQL の比較 - リレーショナルデータベース管理システム (RDBMS) の違い - AWS
                • プログラミング本気1週間 3日目 - 気軽にブログを楽しむ

                  前回の記事 www.captentheater.com 本日の成果 最初に前回の続きである掲示板の作成を下の記事を参考にしながらデータベースと連携させて挑戦した。 manablog.org 上記の記事と似た物を作り上げたのだが…動かず。 一度やっていた掲示板のエラー内容を解決すべくデータベースなしで掲示板を作成してみる なんとかデータベースなしの掲示板は動くようになったところ 今日の感想 はっきり言って辛くなってきた。 何度も泣きたくなった。原因として一番大きいのは、エラーと自分の知らなさがゆえ。 テックアカデミー時代にどれだけコピペしたものをちょっと塗り替えてきてうまくやっていたかが明確にわかってしまいきつかった。 だが、しっかりと10時から夜の10時まで成し遂げる事ができたので今日の自分を褒めたいw 明日も頑張ろう! と言いつつ、次はブログ記事を書く作業に映ろうと思う。よければ本ブログ

                    プログラミング本気1週間 3日目 - 気軽にブログを楽しむ
                  • 【MySQL】インポート時間短縮のためのDBパラメータチューニング / 開発者向けブログ・イベント | GMO Developers

                    バイナリ互換性がないMySQLバージョン間(5.6→8.0)のDB移行が必要となり、DBを停止して、mysqldumpによるデータ移行を計画しました。その際にDBのダウンタイムをなるべく短くするため、インポートにかかる時間をパラメータチューニングによって短くできないか検証しました。 注意点 本記事の内容は、筆者の個人的な見解や認識に基づいて作成しているため、正確性、信頼性、完全性、最新性を保証するものではありません。 本記事は、2023/04/25 時点の情報をもとに作成しております。 最新の情報については、他の情報源と照らし合わせてご確認ください。 今回紹介するパラメータはインポート時に一時的に設定するパラメータと仮定しており、運用時は適さないパラメータもあります。 インポートが完了したら運用に適したパラメータへの変更をお願いします。 前提条件 インポートするデータ スキーマ毎にmysq

                    • MySQL | 占有ロック(FOR UPDATE)と共有ロック(LOCK IN SHARE MODE) - わくわくBank

                      トランザクション中で「UPDATE」や「DELETE」を行うとロックがかけられます。また、SELECTについても「占有ロック(FOR UPDATE)」と「共有ロック(LOCK IN SHARE MODE)」をかけることができます。ここでは、ロック周りの動作を確認します。 (動作確認は、MySQL5.7 InnoDBで行っています。) 占有(排他)ロックと共有ロック UPDATE トランザクション内で UPDATE を行った場合、占有(排他)ロック がかけられます。 SELECT トランザクション内で FOR UPDATE を利用した SELECT を行った場合、占有(排他)ロック がかけられます。 トランザクション内で LOCK IN SHARE MODE を利用した SELECT を行った場合、共有ロック がかけられます。 関係 (ロックの解放待ち) ロック種別共有ロック占有ロック

                        MySQL | 占有ロック(FOR UPDATE)と共有ロック(LOCK IN SHARE MODE) - わくわくBank
                      • MySQLのデータベース(schema)のコピーにかかる時間を比較してみた - tom__bo’s Blog

                        あるMySQLインスタンスで検証のためにschema(database)をコピーしてほしい。というリクエストを受けたときに最速で対応する方法は何か検証してみました。 MySQLにschemaをコピーするコマンドはありません。 schemaをコピーする方法として例えば以下の5つがあります。同じMySQLインスタンス上でschemaをコピーするならどの方法が最速でしょうか? INSERT INTO ... SELECT ... mysqldumpしてrestore mydumper/myloaderでdump&insert xtrabackupしてrestore Transporable Tablespaceでdump & import アプリケーション開発者視点で実行しやすい方法から、DBAなどインフラエンジニアの権限(*1)がないと実行が難しい方法の順で並べてみました。 schema Aを

                          MySQLのデータベース(schema)のコピーにかかる時間を比較してみた - tom__bo’s Blog
                        • dbs-002.dvi

                          Foundations and Trends R � in Databases Vol. 1, No. 2 (2007) 141–259 c � 2007 J. M. Hellerstein, M. Stonebraker and J. Hamilton DOI: 10.1561/1900000002 Architecture of a Database System Joseph M. Hellerstein1 , Michael Stonebraker2 and James Hamilton3 1 University of California, Berkeley, USA, hellerstein@cs.berkeley.edu 2 Massachusetts Institute of Technology, USA 3 Microsoft Research, USA Abstra

                          • MySQL 8.0 パーティショニングを理解する - ROXX開発者ブログ

                            この記事は個人ブログと同じ内容です www.ritolab.com パーティショニングは MySQL 5.1 から利用できますが、パーティショニングとは何者なのか。MySQL 8.0 でパーティショニングを理解していきます。 パーティショニング パーティショニングでは、指定したルールに従いテーブルの各行をパーティション分割したファイルシステムに配分します。 これによって同じテーブルのレコードでもそれぞれ配分された箇所が内部的にはあたかも別のテーブルのように個別の場所に格納されます。 テーブルは 1 つで操作もこれまでと変わりませんが、ファイルシステムにおける内部的なデータの持ち方としてはパーティション分割されたそれぞれの場所に保存されていきます。 こうすることでパーティショニングすべき状況と合致する場合はデータの読み出しをはじめとした操作を効率的に行うことができ、クエリ実行時のパフォーマン

                              MySQL 8.0 パーティショニングを理解する - ROXX開発者ブログ
                            • MySQL to MyRocks Migration in Uber's Distributed Datastores

                              You’re seeing information for Bulgaria . To see local features and services for another location, select a different city. Show more Engineering, BackendMySQL to MyRocks Migration in Uber’s Distributed DatastoresSeptember 1, 2022 / Global Introduction Uber uses MySQL as the underlying database engine for Schemaless and Docstore, our distributed databases. By default, MySQL uses the most popular In

                                MySQL to MyRocks Migration in Uber's Distributed Datastores
                              • 【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog

                                こんにちは。フォージビジョンの藤川と申します。 2023年9月初めに、AWSよりAmazon RDS for MySQL 5.7の標準サポート終了に関する内容と延長サポートに関する内容の通知がありました。以下は、2023/9/13時点のAWS公式サイトの情報です。 メール本文にも記載がありましたが、各々の情報は以下のAWS公式サイトに記載があります。 Amazon RDS for MySQL 5.7の標準サポート終了 2023/9/13時点では、表示言語を英語にすることで、標準サポート終了日の最新の情報や延長サポートの内容を確認することができました。 docs.aws.amazon.com Amazon AuroraとAmazon RDSがMySQLとPostgreSQLデータベースの延長サポートを発表 aws.amazon.com データベースのメジャーバージョンのアップデートについては

                                  【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog
                                • あすけんの Aurora 2 → Aurora 3 へのメジャーバージョンアップ軌跡 (1) 絶望篇 - asken テックブログ

                                  こんにちは、インフラのテックリードをしている沼沢です。 この記事は、株式会社asken (あすけん) Advent Calendar 2024 の11日目の記事です。 また、「あすけんの Aurora 2 → Aurora 3 へのメジャーバージョンアップ軌跡」の第1弾の記事です。 あすけんは AWS 上で動いており、データベースには RDS Aurora を利用していて、各社同様にメジャーバージョンを上げなければならない状況でした。 しかし、その道のりは決して簡単なものではありませんでした。 本稿は、そんな Aurora メジャーバージョンアップ完了までの軌跡をお伝えする記事の第1弾です。 こんな話は今さら需要が無いかもしれませんが、今現在 RDS 延長サポートに突入し、メジャーバージョンアップをこれから行う予定の方々の参考になれば幸いです。 序章 2022〜2023年 この時インフラチ

                                    あすけんの Aurora 2 → Aurora 3 へのメジャーバージョンアップ軌跡 (1) 絶望篇 - asken テックブログ
                                  • MySQL :: InnoDB Data Locking - Part 1 "Introduction"

                                    In this blog series, I’d like to introduce you gently to the topic on which I was working last 2 years, which is improving how InnoDB locks data (tables and rows) in order to provide illusion to clients that their queries are executed one after another, while in reality there is a lot of concurrency. I hope to start from a simplified view of the situation and challenges, and gradually introduce mo

                                    • 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を継続してお使いいただくために
                                      • カーディナリティが低いINDEXのお掃除をしました - コネヒト開発者ブログ

                                        こんにちは!サーバーサイドエンジニアをやっている @otukutun です。 最近slow query起因のレイテンシアラートが発生していてRDB(MySQL)が不安定になってしまう事象が発生し、それはカーディナリティが低いINDEXが使われたことが原因で発生していました。今回は、その対応としてカーディナリティが低いINDEXのお掃除を行ったのでそれについて書きたいと思います。 なぜカーディナリティが低いINDEXを削除したのか? 一般的にカーディナリティが低いINDEXの弊害などはいろんな方が言われていますが、 効果が低いのでSELECTの性能向上にはつながらない INSERT時にINDEXの更新がされるのでINDEX数が多いほどINSERTが遅くなる(USE THE INDEX, LUKE「インデックスを作れば作るほど、INSERTが遅くなる」より引用) などがあると思っております。詳

                                          カーディナリティが低いINDEXのお掃除をしました - コネヒト開発者ブログ
                                        • RDBMS_Genealogy_V6

                                          BAY AREA PARK CODD RIVER RELATIONAL CREEK CODD RIVER BAY AREA PARK 1970s 1980s 1990s 2000s 2010s DABA (Robotron, TU Dresden) v1, 1992 v1.0, 1987 v4.0, 1990 v10, 1993 v1, 1987 v2, 1989 v3, 2011 v11.5, 1996 v11.9, 1998 v12.0, 1999 v12.5, 2001 v12.5.1, 2003 v15.0, 2005 v16.0, 2012 v1, 1989 v2, 1993 v1.0, 1980s v5.x, 1970s v6.0, 1986 OpenIngres 2.0, 1997 vR3, 2004 v1, 1995 v6, 1997 v7, 2000 v8, 2005 v

                                          • MySQL徹底入門第4版からの差分 - tmtms のメモ

                                            2020年7月に出た「MySQL徹底入門 第4版」という本は MySQL 8.0.20 をベースとしてたんですが、ご存知の通り MySQL 8.0 はパッチリリースでどんどん機能が追加されてったりするんで、同じ 8.0 でも最新版とは機能の差分が出てしまってます。 ということで、自分が執筆した分について、8.0.23 までで変わった分についてまとめてみます。 5.1 アカウントの作成と権限の付与 8.0.21 から CREATE USER と ALTER USER 時に COMMENT と ATTRIBUTE でコメントや属性を付与できるようになりました。 5.2 アカウント識別 クライアントから接続した場合は、ワイルドカードを含まない接続元が一致するもの、その後ワイルドカードを含むもの、そして最後に空文字のアカウントの順に検索されます。つまり 192.168.1.0/255.255.25

                                              MySQL徹底入門第4版からの差分 - tmtms のメモ
                                            • CTF Cloud 問題の攻撃手法まとめ(2022年版) - blog of morioka12

                                              1. はじめに こんにちは、morioka12 です。 本稿では、CTFtime のイベントに記載されている2022年に開催された CTF のイベントで、Cloud に関する問題をピックアップして攻撃手法やセキュリティ視点での特徴について紹介します。 また、昨年の2021年版は以下で紹介していますので、良ければこちらもご覧ください。 昨年のブログでは、各サービスにセキュリティ的な視点で紹介しましたが、今回は説明が重複するため、各問題に焦点を当てて大まかに紹介します。 scgajge12.hatenablog.com 1. はじめに 1.1 調査対象 2. Cloud 環境におけるセキュリティ視点 2.1 脆弱性攻撃によるクレデンシャルの取得 Amazon EC2 AWS Lambda 2.2 設定不備やハードコーディングによるクレデンシャルの取得 Amazon S3 Amazon RDS

                                                CTF Cloud 問題の攻撃手法まとめ(2022年版) - blog of morioka12
                                              • [mysqldump] READ LOCK防止の為にsingle-transactionとskip-lock-tablesを指定しよう

                                                MySQLでInnoDBのデータベースをダンプする際、 mysqldump -uhogehoge -p -h database-host > dump.sql シンプルに書くとこんな感じのコマンドになります。ですがこのままですとREAD LOCKがかかり、

                                                  [mysqldump] READ LOCK防止の為にsingle-transactionとskip-lock-tablesを指定しよう
                                                • MySQLで使用しているメモリが徐々に増え続けているので調べたメモ - 地方エンジニアの学習日記

                                                  MySQL 5.7を使っているシステムで週単位で徐々にメモリ使用量が増え続けているという現象に遭遇したのでこれなんでだろうと思って調べてみたメモ MySQLのメモリ管理 dev.mysql.com MySQLがどのようにメモリを使用しているかの話。innodb_buffer_pool_sizeにデータ載せて色々やるよという感じ。innodb_buffer_pool_sizeだけ気にしておけばよいかと思いきやkey_buffer_size、 tokudb_cache_size、 query_cache_size、 table_cache、 table_open_cacheについても考える必要があるらしい。innodb_buffer_poolとは別のところでメモリの確保/開放が行われる領域がある。ちなみにinnodb_buffer_pool_sizeは起動時に領域を確保するとのことなのでVSZ

                                                    MySQLで使用しているメモリが徐々に増え続けているので調べたメモ - 地方エンジニアの学習日記
                                                  • 第191回 MySQLでUPSERT処理を実現する | gihyo.jp

                                                    皆さんは、UPSERT処理という言葉をご存知でしょうか。UPDATEとINSERTを合わせた言葉で、INSERTをする際に、すでにそのデータが存在していない場合はINSERTを行って、その行がある場合はUPDATEを行うという処理になります。 今回は、MySQLでUPSERT処理を実現する方法を紹介していきたいと思います。 検証環境 今回はdockerで建てたMySQLを使用します。以下のコマンドでdockerを建ててローカルからアクセスをします。 % docker run --platform linux/x86_64 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest アクセス方法は以下の通りになります。 % mysql -uroot -pmy-secret-pw -h127.0.0.1 -P3307 執筆時

                                                      第191回 MySQLでUPSERT処理を実現する | gihyo.jp
                                                    • [Announcement] (DEPRECATED) Amazon Relational Database Service (RDS) for MySQL 5.6 End-of-Life date is August 3, 2021

                                                      [Announcement] (DEPRECATED) Amazon Relational Database Service (RDS) for MySQL 5.6 End-of-Life date is August 3, 2021 This is an outdated announcement. Please refer to the latest RDS for MySQL 5.6 end-of-life timeline here: https://forums.aws.amazon.com/ann.jspa?annID=8790 NOTE: This notice does not apply to Amazon Aurora clusters. Amazon RDS is starting the end of life (EOL) process for MySQL maj

                                                        [Announcement] (DEPRECATED) Amazon Relational Database Service (RDS) for MySQL 5.6 End-of-Life date is August 3, 2021
                                                      • Upgrading MySQL at Shopify

                                                        Opens in a new windowOpens an external siteOpens an external site in a new window In early September 2021, we retired our last Shopify database virtual machine (VM) that was running Percona Server 5.7.21, marking the complete cutover to 5.7.32. In this post, I’ll share how the Database Platform team performed the most recent MySQL upgrade at Shopify. I’ll talk about some of the roadblocks we encou

                                                          Upgrading MySQL at Shopify
                                                        • 第163回 sysbench 1.0を使ってMySQLの負荷テストをする | gihyo.jp

                                                          今回はsysbench 1.0を使ってMySQLの負荷テストする方法を紹介したいと思います。 第26回 SysBenchを使ってMySQLの負荷テストをする でsysbenchについてはすでに紹介していますので、sysbenchの概要などはこちらの記事をご参照ください。以前の記事ではsysbenchのバージョンは0.4.12であり、最新のsysbenchはオプションやコマンドなどが若干異なっています。そのため、以前の記事のアップデート版として最新のsysbenchで負荷テストする方法を紹介します。 インストール方法 各OSごとのインストール方法はInstalling from Binary Packagesをご参照ください。今回はCentOS7にsysbenchをインストールしてみます。 # curl -s https://packagecloud.io/install/repositor

                                                            第163回 sysbench 1.0を使ってMySQLの負荷テストをする | gihyo.jp
                                                          • 2024/03/19(火)の出来事 - My Bookmark

                                                            「日中文化交流」と書いてオタ活動と読む : 中国オタク「日本の男性向けラノベで『ヒロイン無し』を売りにする作品はあるの?日本のネット小説を見てもあまり無いように感じるんだけど……」 日銀が大規模緩和解除へ、19日決定 長短金利操作も撤廃 - 日本経済新聞 『クリミア・ハン国 歴史・国家・社会』まえがきに代えて|Pençdiraht [その36]放課後ひみつクラブ - 福島鉄平 | 少年ジャンプ+ [拷問224]姫様“拷問”の時間です - 春原ロビンソン/ひらけい | 少年ジャンプ+ https://www.mizuho-rt.co.jp/company/brand/pdf/kaiketsu.pdf 「どんなに売れてもバイトは辞めない」——芸人・みなみかわさんの“芸能界にしがみつかない”仕事論 | タイミーラボ - スキマで働く、世界が広がる。 「万博運営側は説明責任を」 プリツカー賞の山本

                                                              2024/03/19(火)の出来事 - My Bookmark
                                                            • sqldef

                                                              What is it? sqldef is a CLI tool, webasm library, and nodejs tool/library for diffing SQL schema. You can use it to manage migration of PostgreSQL and MySQL databases, using regular SQL DDL. Demo You can generate DDLs to update the DB schema: Current schema CREATE TABLE user ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(128) DEFAULT 'konsumer' ) Engine=InnoDB DEFAULT CHARS

                                                              • MySQL の外部キーのため自動作成されたインデックスは不要になると自動で削除される

                                                                知らなかったのでメモ。 MySQL の外部キーは相当するカラムのインデックスが必要 必要なインデックスがない場合は外部キー作成時に自動でインデックスも作成される こうして自動で作成されたインデックスは、不要になった際に自動で drop される 不要になった際 = その外部キーをカバーできるような別のインデックスが追加された場合 MySQL :: MySQL 5.7 Reference Manual :: 1.7.3.2 FOREIGN KEY Constraints MySQL requires that foreign key columns be indexed; if you create a table with a foreign key constraint but no index on a given column, an index is created. MySQL :

                                                                  MySQL の外部キーのため自動作成されたインデックスは不要になると自動で削除される
                                                                • ブラウザ上から使えるDB Playgroundの「DB Fiddle」が便利 - モヒカンメモ

                                                                  登録不要・インストールなし、ブラウザ上から手軽に使えるDB Playgroundサービスの「DB Fiddle」が便利だったので紹介する。 www.db-fiddle.com DB Fiddle - SQL Database Playground 時折、SQLの仕様について確認したりクエリを他者へ共有したいことがある。 そのためにデータベースを起動させたりするのも面倒なので、ブラウザ上からパパっとクエリ書いて済ませられる「DB Fiddle」というWebサービスが便利。有料プランもあるが、基本的には無料で使える。 登録不要、アプリのインストールもなしでブラウザ上から使え、スキーマとクエリを書いてその場で実行できる。 保存すれば共有URLが発行されるので他者への共有も簡単。 共有URL: https://www.db-fiddle.com/f/aU9qwQsGaaKZMLq82EyhH6/0

                                                                    ブラウザ上から使えるDB Playgroundの「DB Fiddle」が便利 - モヒカンメモ
                                                                  • 主要RDBMS製品の比較 – 同時実行制御, トランザクション分離レベル | コーソルDatabaseエンジニアのBlog

                                                                    Microsoft SQL ServerMySQLOracle DatabasePostgreSQL主要RDBMS製品の比較 2022.09.22 渡部 亮太 主要RDBMS製品の比較 – 同時実行制御, トランザクション分離レベル Oracle ACE Proの渡部です。 主要なRDBMS製品を比較します。 大枠を整理することが最大の目的です。細かい例外事項や拡張機能は適宜記載を割愛しています。 2022年9月時点の最新バージョンをベースに記載していますが、記載内容にバージョン依存は少ないはずです。 時間ができた時に随時追記予定です。 もし誤りを見つけた場合は、優しく教えていただけると嬉しいです。→ https://twitter.com/wrcsus4 or ryota.watabe at cosol dot jp 「主要RDBMS製品の比較」ページ一覧 アーキテクチャ, スキーマ,

                                                                    • MySQLのファイルフォーマットをAntelopeからBarracudaに変更する

                                                                      InnoDBとは MySQLのデータベースエンジンの一つ。他のデータベースエンジンにはMyISAMがある。MyISAMのロックがテーブル単位なのに対して、InnoDBのロックはレコード単位。レコードの操作を行う際にテーブル全体をロックするとテーブルの他のレコードも変更できなくなるが、行単位のロックであれば同時に複数のレコードを変更できるため、効率が良い。他にもトランザクションにも違いがあるようなので、別途まとめる。 InnoDBのファイルフォーマット AntelopeとBarracudaがある。デフォルトはAntelopeだが、推奨はBarracudaとなっている。 何も考えずにデータベースを作成するとファイルフォーマットはAntelopeになってしまう。4バイト文字をデータベースに保存しようとしてエンコーディングをutf8mb4にすると、Index column size too lar

                                                                        MySQLのファイルフォーマットをAntelopeからBarracudaに変更する
                                                                      • MySQL Query Performance Troubleshooting: Resource-Based Approach

                                                                        When I speak about MySQL performance troubleshooting (or frankly any other database), I tend to speak about four primary resources which typically end up being a bottleneck and limiting system performance: CPU, Memory, Disk, and Network. It would be great if when seeing what resource is a bottleneck, we could also easily see what queries contribute the most to its usage and optimize or eliminate t

                                                                          MySQL Query Performance Troubleshooting: Resource-Based Approach
                                                                        • 今日は、RDBの良くない設計にするとどうなるのかの日。 - 今日はなにの日。

                                                                          初めに この記事は、MySQL Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiitaのエントリーです。 ↓2021年12月12日は、@tmtms さんの記事です。 ruby-mysql - tmtms のメモ 目次 初めに 目次 とある日 良い設計とは? 悪い設計の定義 今回使用するテーブル 各テーブルのデータ 各テーブルデータ件数 テーブル合体編 設計 データ挿入 集約結果 hello_worldsテーブル設計 hello_worldsテーブルデータ hello_worldsテーブル件数 データ検索編 東京都の Population(人口) を取得する 日本の Region(地域) と Population(人口) を取得する 街の数が多い上位10件 まとめ 〆 とある日 「良いクエリは正しい知識と設計に宿る」という言葉を皆さ

                                                                            今日は、RDBの良くない設計にするとどうなるのかの日。 - 今日はなにの日。
                                                                          • 第145回 InnoDBの行ロック状態を確認する[その1] | gihyo.jp

                                                                            MySQL(InnoDB)をデフォルトのトランザクション分離レベルのRepeatable-Readで運用していると、ワークロードによってはデッドロックが頻繁に発生して頭を悩ますことがあると思います。解決策としては、デッドロックを引き起こしている原因のSQLがどのような行ロックを取得したか確認して、デッドロックが起こらないようにSQLを修正します。 このほか、行ロックの待機が大量に発生して高負荷になり、サービスに影響が出てしまうこともあると思います。 今回は、そういったときに便利な「InnoDBの行ロック状態を確認する方法」を紹介したいと思います。実行環境にはMySQL 8.0.23を使用しています。 MySQL 8.0での調査方法 まずは、MySQL 8.0から追加されたperformance_schemaのテーブルを使って、あるSQLがどのような行ロックを取得しているか確認する方法を紹介

                                                                              第145回 InnoDBの行ロック状態を確認する[その1] | gihyo.jp
                                                                            • Techouse社内勉強会の内容を紹介します(2) データベース<分離性編> - Techouse Developers Blog

                                                                              Techouseの「エンジニア基礎勉強会」とは Techouse では「基礎勉強会」と称して2週間に1回、わたしが OS・ネットワーク・データベース・ハードウェア・セキュリティ・システムアーキテクチャなどをお話する勉強会を開催しています。 今回お試し的に、勉強会の内容を公開してみます。 データベース(1) ACID データベース(2) 分離性 今回は前回「データベース<ACID編>」の続きです。 ご笑覧くださいますと幸いです。 データベース(2) トランザクション <中編: 分離性> 前回で扱った「銀行口座」の例をそのまま使っていきます。 BEGIN; DROP TABLE IF EXISTS accounts; CREATE TABLE accounts ( id serial PRIMARY KEY, name varchar NOT NULL, balance decimal NOT

                                                                                Techouse社内勉強会の内容を紹介します(2) データベース<分離性編> - Techouse Developers Blog
                                                                              • 【MySQL(InnoDB)】ギャップロックによるデッドロックの調査 - ROXX開発者ブログ

                                                                                この記事は個人ブログと同じ内容です zenn.dev はじめに 業務でデッドロックが発生し、原因がわからずに時間を費やしてしまいました。そこで、今回はその原因と解決方法について調査した結果を備忘録としてまとめたいと思います。 状況 実際のテーブルやアプリケーションコードを直接お見せするわけにはいかないので、簡易テーブルを用意して、SQLにて当時の状況を再現してみたいと思います。 テーブル内容 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) ); CREATE TABLE rooms ( id INTEGER PRIMARY KEY AUTO_INCREMENT ); CREATE TABLE entries ( id INTEGER PRIMARY KEY AUTO_INCREMEN

                                                                                  【MySQL(InnoDB)】ギャップロックによるデッドロックの調査 - ROXX開発者ブログ
                                                                                • MySQLの歴史が面白い - Qiita

                                                                                  まえがき MySQLの歴史をまとめました。 若干関係ない話題も書いてるかもしれませんが読んでいただけると幸いです。 (初投稿なので温かい目でみてください。。。) TL;DR (1995年) Michael WideniusらによってMySQLが開発される。 (2001年) 開発会社MySQL ABのCEOがMårten Gustaf Mickosに変わり、MySQLがオープンソース化される。 (2008年) MySQLがサンマイクロシステムズによって買収される。 (2009年) Michael Widenius「こんなバグまみれのバージョン(5.1)リリースするなら抜けます」 「生みの親」Michael WideniusがサンマイクロシステムズのMySQL開発チームを脱退。 →Michael Wideniusが独立した会社でMariaDBをリリース。 (ちなみに「My」はWidenius氏

                                                                                    MySQLの歴史が面白い - Qiita