自分でこんな記事書いてたのに。。
Primary Keyがないテーブル その2
binlog_format=ROWの時(MIXEDでも、結果が一意にならない関数使ったりしてROWモードでバイナリログ出力された時)に
Primary Keyの無いテーブルだと無茶苦茶テーブルスキャンしてレプリケーションが遅延しまくった話があったから、
Primary Keyは取り敢えず付けておこう! と思った話。
で。
最近Galera Cluster for MySQLの実装をいくつか試してるんですが、
これって必須でbinlog_format=ROWを設定しなきゃいけない。
…テーブルにpkey付けるの忘れて100万行INSERTしたら終わらない終わらない。。。_| ̄|○
エラーログに吐いて教えてくれました。
このcommitでlog_event.ccに追加されたのかな?
130129 22:24:07 [Note] The slave is applying a ROW event on behalf of an UPDATE statement on table t2 and is currently taking a considerable amount of time (61 seconds). This is due to the fact that it is scanning the table while looking up records to be processed. Consider adding a primary key (or unique key) to the table to improve performance.
_| ̄|○ 油断していたよ。。でもありがとうエラーログに吐いてくれて。。
はじめまして
返信削除プライマリーキーに関しては、公式の limitations で プライマリキーがない行の DELETE は Galera Cluster では未サポートだよ~と書かれてますね
https://kb.askmonty.org/en/mariadb-galera-cluster-known-limitations/
情報ありがとうございます( ´∀`)
返信削除ワタシがやっちゃったのはINSERTですが、
DELETEでもUPDATEでもpkeyなし + RBRだとどうしても悲惨な目にあっちゃうんですよね。。