並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 33 件 / 33件

新着順 人気順

mysqlの検索結果1 - 33 件 / 33件

  • サブクエリの書き方を2万文字弱かけてすべて解説する

    これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

      サブクエリの書き方を2万文字弱かけてすべて解説する
    • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

      SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

        クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
      • 「脱 Oracle」 速習ガイド (PostgreSQL 11〜15 対応版)

        はじめに 本ガイドの目的と対象読者 本ガイドは Oracle から PostgreSQL へのデータベース移行リファレンスである。移行に要する工数の算定を容易化することを目的として、考慮すべき非互換情報をシンプルかつ具体的に整理してある。「脱 Oracle」を推進するマネジャーやリーダーのみならず、すべてのメンバーにとって必携のガイドとなることを目指した。本ガイドの情報の多くはインターネット上に公開されているが、それらが体系的、一元的に、かつ最新の PostgreSQL に対応しているものが見当たらなかった(2023年3月12日現在)。そのため、読者の便宜を図る点において本ガイドの果たす役割は大きいと考えている。 本ガイドの前提 本ガイドの内容は下記のデータベース間の移行を前提に記載してある。 移行元データベース

          「脱 Oracle」 速習ガイド (PostgreSQL 11〜15 対応版)
        • Aurora MySQLのメモリ不足の原因を特定する

          シンプルフォーム株式会社でインフラエンジニアをしている守屋です。 本記事では Aurora MySQL の OOM(メモリ不足)エラーについて、原因となるクエリを特定するために役立つ Tips を弊社での実例を交えてご紹介します。 発端 突如 Slack に鳴り響く不吉な通知。 「パターン青!障害です!!」 どうやら本番環境の Aurora クラスターがフェイルオーバーしてアプリケーションが DB コネクションエラーを引き起こした模様です。幸いインスタンスは冗長化していて Aurora のフェイルオーバーは高速であるため、ユーザー目線では瞬断が発生した程度の比較的影響が小さめな障害に留まりました。しかしインフラエンジニアとしては捨ておけない状況です!早速原因の調査を始めました。 フェイルオーバーの原因 結論から言うとメモリ使用量がスパイクして OOM エラーが発生したことが原因でした。根拠

            Aurora MySQLのメモリ不足の原因を特定する
          • Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal

            こんにちは。技術部プラットフォームグループのharukinです。 この記事では、私たちが提供するネットショップ作成・運用のためのECプラットフォーム「カラーミーショップ」のデータベースを、Amazon RDSのブルー/グリーンデプロイを利用し、MySQLのバージョン5.7.38から8.0.35へアップグレードした経験についてご紹介します。カラーミーショップにおいてはこれが初の試みでした。Amazon RDS固有のファーストタッチレイテンシーの解除方法や、ダウンタイム時間の計測についてもお伝えします。 Amazon RDSのブルー/グリーンデプロイを活用するメリットは、本番環境に準ずるステージング環境を構築し事前検証が可能であることです。ステージング環境は約1分で本番環境に昇格させることができ、昇格時に許容ダウンタイムを超えたり、レプリケーションやインスタンスの問題が生じた場合は、自動的にプ

              Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal
            • MySQL 8.4 LTS登場!!

              記事を書くのが遅くなってしまったが、先日MySQL 8.4シリーズが登場したので紹介をしておこうと思う。新機能の解説については機会を改めて書くとして、今回は主にアップグレードにまつわる重要なポイントを書き記しておく。 LTS = Long Term Support 以前の記事でも紹介した通り、MySQL 8.4はLTS = Long Term Supportのバージョンとなっている。長期間サポートするために互換性を最大限保証するバージョンである。前のメジャーバージョンであるMySQL 8.0シリーズのように、シリーズの途中で互換性が破壊されるような変更が入ることは基本的に無い。「バグ修正のためにどうしても仕様を変えなければならない」というような事態が生じる可能性はゼロではない。なので絶対に互換性が保たれるとは言い切れないところであるが、基本的には仕様変更はない方向で今後リリースされていくこ

                MySQL 8.4 LTS登場!!
              • DuckDBでお手軽!データフェデレーション - Techtouch Developers Blog

                tl;dr はじめに DuckDB とは DuckDB では何が読めるのか 使ってみる S3 上のJSON を読んでみる リレーショナルデータベース 他ツールではなく DuckDB を使うメリット しくじりポイント (特にリリースされたばかりの)バージョンには気をつける S3 のオブジェクト数が多い場合不都合がありがち スレッドの調整が必要な場合も Redshift には未対応 終わりに 付録 MySQL のデータを読み込む例の MySQL 側の準備 tl;dr DuckDB 便利だよ。分析以外でも使えるよ 色々な場所のデータを閲覧・結合できるよ。標準SQLも使えるよ ただし、細かい落とし穴は色々あるので気をつけてね はじめに2023年4月にデータエンジニアとして入社したmin(@not_rogue)です。暖かくなるにつれ、YouTube で見た南伊豆ロングトレイル | 松崎町に行く機運が

                  DuckDBでお手軽!データフェデレーション - Techtouch Developers Blog
                • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                  概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                    pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                  • Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 | Amazon Web Services

                    Amazon Web Services ブログ Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 本記事は、Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade checklist, Part 1 を翻訳したものです。 Amazon Aurora MySQL 互換エディション バージョン 2 (MySQL 5.7 互換)は 2024 年 10 月 31 日に標準サポートの終了が予定されています。Amazon Aurora MySQL バージョン 2 の標準サポートの終了タイムラインについて

                      Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 | Amazon Web Services
                    • AWS から OCI に移行してコストを約半額にした話 - Qiita

                      OCIについて知らない方向け AWSは知ってるがOCIを知らないという方は取り急ぎ以下のようなページを読むとイメージが掴みやすいかと思いますのでリンクを貼っておきます。 本件では細かい用語の違いなどの説明は省略します。 OCIへの移行理由 今回移行した理由はコスト削減が最大の理由でした。 オンプレからAWSに移行したのは3年前の2021年2月で当時のドル円相場は約106円でした。 2021年のAWS移行当時、RDSのReserved InstancesとEC2のSavings Plansを3年で購入していました。(通常は1年などで購入されるケースの方が多いと思いますが、歴史のあるサービスなので急激なリソースの増減はあまり無さそうではと考えたためとなります。結果としては円が強いタイミングで安く買えて助かりました) 移行を検討し始めたのはRI/SPが切れる1年前くらいで、その時点のドル円レート

                        AWS から OCI に移行してコストを約半額にした話 - Qiita
                      • Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート2 | Amazon Web Services

                        Amazon Web Services ブログ Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート2 本記事は、Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade checklist, Part 2 を翻訳したものです。 最初のパートでは、 Amazon Aurora MySQL互換エディション v2 から v3 へのアップグレードの事前チェックが失敗する原因となる最も一般的な問題を説明しました。この投稿ではアップグレードが長引いて失敗する最も一般的な原因について説明します。 クラスターにプリ

                          Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート2 | Amazon Web Services
                        • 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT【イベントレポート】 - Findy Tools

                          公開日 2024/05/24更新日 2024/05/24私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT【イベントレポート】 近年データベースが急速に進化し、開発にも大きな影響を与えています。そこでファインディでは「私たちはなぜNewSQLを使うのか TiDBを選定・導入した5社が語る選定と活用」と題したイベントを開催。PingCAPの日下さん、LINEヤフーの佐伯さん、アイスタイルの鈴木さん、DMM .comのpospomeさん、コロプラの曽我さん、さくらインターネットの江草さんをお招きし、NewSQLの一つである TiDBについて語っていただきました。 ■パネリスト 日下 太智さん / @ksk_tic PingCAP株式会社 プロダクトマネージャー / シニアソリューションアーキテクト SIerにて国内外問わずEC/小売/製造/サービス/メディア/出版など様

                            私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT【イベントレポート】 - Findy Tools
                          • Athena で S3 と MySQL を JOIN する | DevelopersIO

                            CDK の中で DB を初期化する点についても後ほど触れます。 S3 にサンプルデータをアップロードする 続いて、以下のコマンドで S3 にサンプルのデータを入れます。 bucket_name=$(aws cloudformation describe-stacks --stack-name BlogAthenaJoinS3AndMysqlStack --output text --query 'Stacks[0].Outputs[?OutputKey==`BucketName`].OutputValue') aws s3 cp ./s3_test_data/data "s3://${bucket_name}/data" --recursive これで CloudFormation で作成した S3 バケット名を取得し、そのバケットに以下の CSV ファイルをアップロードしました。 ※4都

                              Athena で S3 と MySQL を JOIN する | DevelopersIO
                            • PostgreSQL supported platforms over time

                              The recent discussion about AIX support in PostgreSQL (as of now removed in PostgreSQL 17) led me to look through the project’s history, to learn what platforms we have supported when. In this context, “platform” really means operating system. One useful proxy is looking at the files in src/template/, because every supported platform needs to be listed there. There are other dimensions, such as wh

                              • MySQLで処理するGIS ~地球が丸いことを覚えたMySQL~ / MySQL GIS FOSS4G TOKAI 2023

                                2023年8月26日(土)に開催されたFOSS4G TOKAI 2023での発表資料です。 法務省登記所備付地図データをMySQLに取り込んでから検索し、空間インデックスにより検索処理を高速化した結果も紹介しています。

                                  MySQLで処理するGIS ~地球が丸いことを覚えたMySQL~ / MySQL GIS FOSS4G TOKAI 2023
                                • Introducing pg_timeseries: Open-source time-series extension for PostgreSQL | Tembo

                                  Introducing pg_timeseries: Open-source time-series extension for PostgreSQL May 20, 2024 • 6 min read We are excited to launch pg_timeseries: a PostgreSQL extension focused on creating a cohesive user experience around the creation, maintenance, and use of time-series tables. You can now use pg_timeseries to create time-series tables, configure the compression and retention of older data, monitor

                                    Introducing pg_timeseries: Open-source time-series extension for PostgreSQL | Tembo
                                  • Binary logging optimizations in Amazon Aurora MySQL version 3 | Amazon Web Services

                                    AWS Database Blog Binary logging optimizations in Amazon Aurora MySQL version 3 The binary log (binlog) in MySQL is used to capture database modifications on a MySQL server in a logical format known as “events”. These database modifications can include DCL statements (such as CREATE USER or GRANT), DDL statements (CREATE TABLE, ALTER TABLE) and DML statements (INSERT, UPDATE, DELETE). When such a

                                      Binary logging optimizations in Amazon Aurora MySQL version 3 | Amazon Web Services
                                    • PostgreSQL の TIMESTAMPTZ 型はタイムゾーンに関する情報を保持しない - Qiita

                                      PostgreSQL の TIMESTAMPTZ 型について誤解していた部分があったので記事にします。以下の記事を参考にさせていただきました。 この記事で伝えたいこと TIMESTAMPTZ 型はタイムゾーンに関する情報を保持しない DB に設定されているタイムゾーンで挙動がかわってしまう操作があるので注意が必要 TIMESTAMPTZ 型はタイムゾーンに関する情報を保持しない TIMESTAMPTZ 型は、timestamp with time zone という名前にも関わらず、タイムゾーンの情報を持たない。 実験: タイムゾーンの異なる、同じ日時の値を SELECT してみる → SELECT して表示される日時のタイムゾーンは同じ SELECT '2022-07-31 12:53:00+00'::TIMESTAMPTZ; -- 2022-07-31 21:53:00+09 SELEC

                                        PostgreSQL の TIMESTAMPTZ 型はタイムゾーンに関する情報を保持しない - Qiita
                                      • RAG With PostgreSQL - pgDash

                                        Retrieval-Augmented Generation with Postgres, pgvector, ollama, Llama3 and Go. With a Retrieval-Augmented Generation (RAG) system, you can create an AI assistant that can answer questions based on the information contained within your existing, in-house knowledge bases like wikis, manuals, training and reference material. Read on to see how you can build your own RAG using PostgreSQL, pgvector, ol

                                        • Unleash the power of automated index tuning in Azure Database for PostgreSQL Flexible Server

                                          Azure Database for PostgreSQL Flexible Server offers a smart and easy way to tune your indexes and consequently improve the performance of your workloads and reduce your Azure costs. Why index tuning matters Indexes are data structures that help your database find and retrieve data faster. They are essential for improving the performance of your queries, especially when you have large tables with

                                            Unleash the power of automated index tuning in Azure Database for PostgreSQL Flexible Server
                                          • [PostgreSQL]pg_dumpとpg_restoreを用いたバックアップとリストア - Qiita

                                            ※1…バックアップ時に選択した対象を全てリストアする ※2…TOC=Table Of Contents。そのバックアップファイルにどのようなデータが格納されているかを一覧形式で確認したり、一覧から選んだデータだけリストアできる。 ※3…SQLに変換してから行う。変換時に標準SQLオプションを指定する事ができる為、平文形式より柔軟性が高い。 目的別コマンドサンプル一覧 この記事で紹介されている目的別のコマンドラインサンプルを一覧でまとめます。 コマンドライン中の -h YOUR_HOST -p YOUR_PORT -U YOUR_USERのDB接続情報オプションは省略しています。-dオプションが付いている場合、これらも必要に応じてオプションに追加して下さい。 カスタム形式のダンプデータを扱う場合(お勧め) 目的 コマンドラインサンプル

                                              [PostgreSQL]pg_dumpとpg_restoreを用いたバックアップとリストア - Qiita
                                            • rails mysql5.7から8.0アップグレード時の注意点📝

                                              railsが参照しているrdsをmysql5.7から8.0にアップグレードした時の注意点メモ utf8mb4を指定した場合は以下のパラメーターグループをutf8mb4にする必要がある character_set_database データベースの文字セットを定義します。文字セットは、文字を数値で表現する方法を定義するデータエンコーディングの一種です。 この設定は、新しく作成されるテーブルとそのカラムに使用されるデフォルトの文字セットを指定します。特定のテーブルやカラムに対して異なる文字セットを設定することも可能ですが、character_set_databaseはデフォルトの設定で、特定でない指定がない場合はこれが適用されます。 character_set_client ユーザーからのSQLステートメントがエンコードされている方法を定義します。クライアントからデータベースサーバーに送信される

                                                rails mysql5.7から8.0アップグレード時の注意点📝
                                              • MySQL :: MySQL Shell 8.0 :: 8.1 アップグレードチェッカユーティリティ

                                                util.checkForServerUpgrade() 関数は、MySQL サーバーインスタンスのアップグレード準備ができているかどうかを確認できるアップグレードチェッカユーティリティです。 MySQL Shell 8.0.13 から、最初の MySQL Server 8.0 General Availability (GA) リリース (8.0.11) から現在の MySQL Shell リリース番号と一致する MySQL Server リリース番号まで、アップグレード先のターゲット MySQL Server リリースを選択できます。 アップグレードチェッカユーティリティは、指定されたターゲットリリースに関連する自動チェックを実行し、手動で行う必要がある関連チェックをさらにアドバイスします。 アップグレードチェッカユーティリティを使用して、MySQL 5.7 サーバーインスタンスの互換

                                                • sailで作ったpostgresのデータベースに接続する

                                                  sailで作ったpostgresのデータベースに接続する sailでのlaravelのインストール 終わっている方は飛ばしてください。

                                                    sailで作ったpostgresのデータベースに接続する
                                                  • psqlの変数にクォーテーションをつける方法 - Qiita

                                                    ここでhoge.sqlの中で可変にできる部分を変数で置き換えてpsqlの実行時に渡すには次のようにする。

                                                      psqlの変数にクォーテーションをつける方法 - Qiita
                                                    • 『入門向け』PostgreSQLでシンプルなプロシージャを作成する - rubytomato's “Getting Started”

                                                      はじめに この記事はPostgreSQLのPL/pgSQLという言語で作成するプロシージャについて、難しい処理は行わないシンプルなプロシージャをベースに、それを少しずつ拡張しながらプロシージャの開発について説明していきます。 環境 この記事の内容はWindows 10で作成、動作確認しています。 OS: Windows 10 PostgreSQL 12.2 参考 PostgreSQL 12.0文書 第42章 PL/pgSQL - SQL手続き言語 PostgreSQL 12.0文書 SQLコマンド CREATE PROCEDURE シンプルなプロシージャ 最初に下記のシンプルなプロシージャで、プロシージャの構造について説明したいと思います。 このプロシージャは、実行するとコンソール画面に『calling 'sample_proc()' at 2020-07-16 13:04:27.6520

                                                        『入門向け』PostgreSQLでシンプルなプロシージャを作成する - rubytomato's “Getting Started”
                                                      • DockerでPostgreSQLを使う - Qiita

                                                        本番環境ではDBはコンテナ化することは少いと思いますが、諸事情によりメモ。 前知識 Docker環境でPostgreSQLを扱う場合に事前に知っておいたほうが良い知識。 /docker-entrypoint-initdb.d/ PostgreSQLのイメージ(MySQLも)では、/docker-entrypoint-initdb.d/以下に置かれたファイルを起動時に実行する仕組みがあり、これらを利用してDBの初期設定・初期データの作成などを行うことができる。 サーポートされている拡張子は.sh, .sql, .sql.gzみたい。 /var/lib/postgresql/data PostgreSQLのデータ保存場所のパスは/var/lib/postgresql/dataとなる。これをローカルにマウントしてデータの永続化を行う。 基本 起動 まずはシンプルにPostgreSQLをDocke

                                                          DockerでPostgreSQLを使う - Qiita
                                                        • 【MySQL】照合順序でハマった話

                                                          この記事は Lancers(ランサーズ) Advent Calendar 2023 の20日目の記事です。 はじめに ランサーズ株式会社の種井です。 普段はエージェントサービス関連の開発業務を主に担当しています。 突然ですが、皆さんはデータベースの照合順序についてどれくらい意識して普段の開発業務を行っていますか? もちろん、当たり前に照合順序が果たす役割について把握した上でテーブル設計やアプリケーションの開発に取り組んでいるという方も多いかと思います。 かくいう私は、VARCHAR型のカラムに対して文字コードを設定する際に使用する機能くらいの知識しかなく、特段意識することなく新規テーブルの追加や既存テーブルへのカラム追加をこれまで行っていました。 この記事では照合順序についての理解が乏しかった自分が、普段の開発業務でハマった話をいくつかご紹介できればと思います。 環境 MySQL8.0 照

                                                            【MySQL】照合順序でハマった話
                                                          • 【PostgreSQL】ファイルからSQL文を一括で実行するには ~pdqlコマンドの利用~ - プログラム の超個人的なメモ

                                                            ■ はじめに * 開発環境設定やテストデータ作成の際に いちいち作ったりするのが面倒なので、 ファイルにして残しておけば、自分だけじゃなく 別の開発メンバーにも役立つので ファイルからSQL文を一括で実行する方法を調べてみた。 補足:pdql コマンド 以下の関連記事を参照のこと https://dk521123.hatenablog.com/entry/2020/01/10/224818 ■ ファイルからSQL文を一括で実行するには * psqlコマンドを利用する 構文 括弧()はオプション psql -f 【実行したいSQL文が書かれているファイル】 -U 【Postgreユーザ名】 (【DB名】)(-h 【ホスト名】) Password: [【Postgreユーザ名】のパスワードを入力する] ■ サンプル 例1:一括で実行したいSQL文 initDb.sql DROP DATABAS

                                                              【PostgreSQL】ファイルからSQL文を一括で実行するには ~pdqlコマンドの利用~ - プログラム の超個人的なメモ
                                                            • 【MySQL】読み取り専用トランザクションもmetadata lockを取る - 地方エンジニアの学習日記

                                                              dev.mysql.com BEGINなどをせずにSELECTを実行しただけでも読み取り専用トランザクションというのが開始されるらしい。スロークエリが実行されているテーブルに対してDDLを実行するとmetadata lockが取られて以降のDMLが全てブロックされる問題があるがBEGINとかしてない場合は問題ないのでは?と思ったので調べてみた。 TrxA > SELECT SLEEP(3600) from HOGE; とやってHOGEに対してDDLを発行すると3600sの間DDLは待たされ以降のDMLを全て待たされる。読み取り専用トランザクション中にALTERが実行されるとトランザクションの分離を実現できなくなるので考えてみればそれはそうという感じである。 実験してみる こんなテーブルにALTER TABLEを実行してみる mysql> desc test_table; +--------

                                                                【MySQL】読み取り専用トランザクションもmetadata lockを取る - 地方エンジニアの学習日記
                                                              • BashとPSQLを使う時の注意事項 - くらしのマーケット開発ブログ

                                                                こんにちは!エンジニアのカーキです。 今日はBashとPSQLを使ってSQLを実行した時にハマったエピソードについて紹介したいと思います。 なにでハマったのか? 自分が書いたBashのスクリプトでpsqlを使っていくつかの簡単なSQL (主にINSERT, UPDATE, DELETE)を実行しようとした時にスクリプトが成功してもデータベースには期待していた変更がありませんでした。 実行していたSQLは今まで成功していたSQLだったので正しいと思い込んでスクリプトの動作だけで確認してたのですが、実はpermission 関係でSQLが失敗していたようです。ただ、Bashスクリプトのエラー時の設定とpsqlの実行方法によってSQL上のエラーに気付かず、スクリプトが最後まで走って、成功したように見えたいただけでした。 エラーに気付かなかった要因とその解決方法 要因 1. Bashはデフォルトで

                                                                  BashとPSQLを使う時の注意事項 - くらしのマーケット開発ブログ
                                                                • DjangoのマイグレーションとMySQL 5.6~でのオンラインDDLの副作用について - クロスマート Tech Blog

                                                                  まえがき ちょっと待った。オンラインDDLって何よ? DDLについて オンラインDDL オンラインDDL実行で起こりかけた問題 ロックを取得する じゃあどうすればいいのさ DDLを流す時にメンテを入れる TO値を設定する あとがき まえがき こんにちは。バックエンドエンジニアの@mobojisan と申します。 この時期は本当にカンファレンスが多いですね! 個人用GitHub上にSSGを利用したブログ基盤があるのですが、それが使いにくかったので、今流行りのsupabaseでブログ基盤をおっ立て、カンファレンスに参加した時の感想記事でも載っけようかと画策していました。 しかし、作業がカンファレンスの開催スピードにとても追いつかず、カンファレンスのメモが無情にもnotion上に溜まっていきます。 もはやメモをブログとして世に出す頃には来年のカンファレンスが開催されているんじゃないか…?と思いな

                                                                    DjangoのマイグレーションとMySQL 5.6~でのオンラインDDLの副作用について - クロスマート Tech Blog
                                                                  • MySQLの文字コード(characterset)と照合順序(collation)についてとその設定 - Qiita

                                                                    株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。 開発している際にMySQLの文字コード関連でエラーが出てきたので、いい機会だと思って調べたことをまとめました。 前提条件 macOS13.2.1(M1チップ) MySQL:8.0.32 また記事の後半で、AWSのRDSも出てきます。 文字コードと照合順序について MySQLは文字コードとソート順の2つの設定を持っています。ソート順の部分を照合順序と呼びます。 MySQL内で文字列を比較する際に、文字コードだけでなく照合順序が一致するかどうかも比較します。そのため、照合順序が合わないと比較できず、JOINしようとした際にエラーになってしまいます。 文字コード(characterset)は、MySQL内ではutf8mb4, utf8, cp932などで表されています。 文字コードは、MySQLクライアント(接続元)の設

                                                                      MySQLの文字コード(characterset)と照合順序(collation)についてとその設定 - Qiita
                                                                    1