2025-01-01から1年間の記事一覧
昨日に続き、TiDB の MySQL との非互換についてです。 mita2db.hateblo.jp SELECT ~ FOR UPDATE は BEGIN しないとロックを取りにいかない TiDB では、BEGIN / START TRANSACTION をせずに、SELECT ~ FOR UPDATE するとロックを取りません。 実際のアプリケ…
SKIP LOCKED はサポートされていないが通ってしまう TiDB 8.5 時点では SELECT ~ FOR UPDATE SKIP LOCKED はサポートされていません。 しかし、エラーにならずに通ってしまいます。 マニュアルには、「サポートされていない」とは書いてあるのですが、「無視…
インデックスには主キーが含まれる MySQL のセカンダリインデックスには、主キーが自動的に含まれます。セカンダリインデックスを使って特定のレコードを見つけ出す流れは、以下の二段階です。 検索条件に合うセカンダリインデックスのエントリを見つけます …
前提 本エントリーは、tidb_enable_metadata_lock が ON であることを前提としています。 mysql> SELECT @@transaction_isolation, @@tidb_enable_metadata_lock, @@version; +-------------------------+-----------------------------+-------------------…
毎年恒例の db tech showcase に今年も参加してきました。 DB界隈のみなさんと情報交換できて非常に有意義でした! www.db-tech-showcase.com 以下、参加したセッションのメモ。書き間違いとかニュアンスの違いあったらごめんなさい。 1. Spanner 内部シャー…
Gemini Code Assist に DDL をレビューさせてみました。 レビューさせるDDL CREATE TABLE users (id int, user_name TEXT, create datetime); CREATE TABLE user_items (id int, user_id VARCHAR(10), itemName TEXT, status VARCHAR(250), created datetime…
go-sysbench go-sysbench は Go 言語で書かれた、sysbench のクローンです。複雑なカスタムシナリオを sysbench より簡単に作れることを目的として作りました。 github.com sysbench はシンプルで、非常に使いやすいベンチマークツールで、長年愛用してきま…
動的権限と静的権限 「動的権限は、従来の静的権限が細分化されたもの。静的権限を持っていれば、動的権限はREVOKEしても影響はない」と考えていました。 例えば、SUPER 権限 (静的) を持っていれば、BINLOG_ADMIN 権限 (動的) がなくとも、バイナリログをパ…
目標復旧時点(Recovery Point Objective = RPO) 目標復旧時間(Recovery Time Objective = RTO) バックアップの遠隔地保管 RPO RPO はバックアップ頻度に依存 日次バックアップであれば、RPOは1日、最大で1日分のデータがロスト RTO 比較的、長い デー…
動的権限 / Dynamic Privilege MySQL 8.0 で、動的権限と呼ばれる、従来より細かい範囲で操作を許可できる権限が追加されました。 gihyo.jp バージョンアップ時に自動的に動的権限が付与される 一部の静的権限(従来の権限)を保持しているユーザには、MySQL…