ブックマーク / next4us-ti.hatenablog.com (9)

  • Oracle Code 2019最高でした!ありがとうございました! - 41から始めました

    ※勢いで書いて、まとめようとしてなかったので読みにくいと思います。(伝えたいことはタイトルの一行) 今年は参加できたOracle Code。 https://www.oracle.co.jp/events/code/2019/ 毎年この時期なんやかんやあったんだけど、今年は時間取れたし、聞きたい話も盛りだくさんだったので。 場所 シェラトン都ホテル 家から近いので自転車で行っちゃいました。(良かったのかな?) あの辺、何もないので自転車があって当に助かった。 (お昼べずに行ったから、20分の休憩時間で何かべようと思ったときコンビニが近くにないのでセッションを無駄にしかねない) 以下セッションについての感想等 Oracle ACEが語る MySQL 8 資料はこちら Oracle ACE から見た、MySQL 8の便利な新機能、ハマりどころを紹介します! ・降順インデックスによるSQL

    Oracle Code 2019最高でした!ありがとうございました! - 41から始めました
    yoku_0825
    yoku_0825 2019/05/22
    ( д ) ゚ ゚ えっ “スライド見ると、十分に踏んでますね・・・(感謝の意)”
  • イコール(=)vs ライク(LIKE) の巻 - 41から始めました

    ある日のこと 社内のHさんから質問が。 外注さんが、文字列である建物名の完全一致検索するときのSQLで `... where building like ? ...` って書いてきたので 「 `=` じゃないのは何故?」って聞いたら↓を意図したと回答がありました。 https://dev.mysql.com/doc/refman/5.6/ja/string-comparison-functions.html ぶっちゃけ、初めてこの仕様を知ったんですが、ご意見いただけませんでしょうか? ここでいうこの仕様とは以下のこと SQL 標準では、LIKE は文字ごとに一致を実行するため、= 比較演算子とは異なる結果が生成される可能性があります。 特に、末尾の空白は重要です。ただし、= 演算子を使って実行される CHAR や VARCHAR の比較には当てはまりません。 マジか?イコールは空白無視する

    yoku_0825
    yoku_0825 2019/03/29
    知らないとハマるやつだし、知ってても8.0で挙動が変わってハマるやつですね!!
  • セミナー行ってきた(MySQLのActive/Active型HA と 靴&ファッション通販 ロコンド様の可用性への取り組み事例紹介) - 41から始めました

    セミナー概要 2019-01-24(木)16:00 - 18:30 データベースのHAの話から、MySQL5.7から使用可能なマルチマスター型HAのMySQL InnoDB Clusterについての説明、および実運用での話をLOCONDO.jpの杉山さんから聞く。 資料については別途公開予定 イベント紹介 https://osslabo.doorkeeper.jp/events/85105 Amazonで約1時間のDB障害が発生し、100億円以上の機会損失が発生 備えあれば憂いなし!だが従来の冗長構成ではダウンタイムが発生?! 技術者不足や人件費がかけられないという問題も MySQLユーザーに最適な答えとは 低コストで実現できる「MySQL InnoDB Cluster」解説 知ったこと(基的にはMySQL InnoDB Clusterの話) 要件的なこと 構成可能台数は最大9(奇数にす

    セミナー行ってきた(MySQLのActive/Active型HA と 靴&ファッション通販 ロコンド様の可用性への取り組み事例紹介) - 41から始めました
    yoku_0825
    yoku_0825 2019/01/25
    勉強になります!
  • スロークエリログを詳細化するlog_slow_extraパラメータ - 41から始めました

    log_slow_extraパラメータが8.0.14から追加された 何それ?おいしいの? スロークエリーログが有効で出力先が含まれているFILE場合、サーバーはスローファイルに関する情報を提供するログファイル行に追加のフィールドを書き込みます。セクション5.4.5「遅いクエリーログ」を参照してください。 TABLE出力は影響を受けません。 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_slow_extra 要するにファイル形式のスロークエリの場合、ログを詳細に出力するようになったよ、ってことらしい。 でもこれだと何が出力されるようになったのかわからん。 試してみる スロークエリを出すように変更 mysql> set global slow_query_log_file = '/

    スロークエリログを詳細化するlog_slow_extraパラメータ - 41から始めました
    yoku_0825
    yoku_0825 2019/01/23
    わーい、Percona Serverみたい!
  • MySQL InnoDB Clusterの構築(by docker) - 41から始めました

    MySQL InnoDB Clusterさわってみたい こないだセミナーも行ったし、DBプロキシについて調査しといて―という依頼もあったりしたんで、MySQL InnoDB Cluster環境を作ってみようと考えた。 MySQL InnoDB Clusterとは 普通にサーバ立てて、構築する場合はここ(SmartStyle社のブログ)を参考に作ればいいと思うけど、手元でパフォーマンスを気にせず、技術的なことだけ知りたい場合はやっぱりDockerが便利。 幸いにも中の人がGitHub上に上げてくれてるんで、サクッとできるかな?と思いそれで作って試すことにした。 (これが意外と地獄だった・・・) MySQL InnoDB Clusterを使うと、マルチマスターにもできるけど、今回はシングルマスター・残り2台はセカンダリにしてある。 環境・構成 名前 バージョン 備考 OS CentOS Lin

    MySQL InnoDB Clusterの構築(by docker) - 41から始めました
    yoku_0825
    yoku_0825 2019/01/07
  • 整数型のカッコ「()」に入る数字は表示幅 - 41から始めました

    この記事はMySQL Casual Advent Calendar 2018 13日目の記事です。 テーブル作成時 カラムの型を定義しますが、数字列に対して hoge_id` bigint(20) hoge_flag` tinyint(1) というようにカッコ()の中に数字を入れていると思いますが、この数字がそもそも省略できることは知っていると思います。 省略するとデフォルト値(bigintなら20、tinyintなら4)が入ることまではちょっと調べたり、テーブル作った後に show create table した結果から確認できるのでその数字まで知っている人も多いと思います。 この数字、入力可能桁数だと思ってません? 僕は最初そう思ってました。 他のDBもそうだし、文字列型についてはそうですから。 でも整数型は違うんです。 この数字、表示幅なんです。 何を言っているのかというと、 MyS

    整数型のカッコ「()」に入る数字は表示幅 - 41から始めました
    yoku_0825
    yoku_0825 2018/12/13
    意外と知らない人多い印象
  • 非公式なmysql-upgrade-checkerをMySQL5.5で試してみる - 41から始めました

    このエントリーは MySQL Casual Advent Calendar 2018 の5日目の記事です。 そもそもMySQL Upgrade Checkerって? 今まではリリースノートを読んで、つぶさに問題点を洗い出して、現行のDB環境に問題が無いかを人手にチェックしていました。 それをMySQL5.7の場合にMySQL8.0にアップグレードする場合に限って、Oracle社が公式にアップグレード時のチェックツールを作りました。 (Oracleデータベースとかだと昔からあるんで、その文化MySQLにも入ってきた感じですね) 現在のUpgrade Checkerでは以下のようなことがチェックできる 古い temporal type の使用 DBのオブジェクト名と予約語の競合 utf8mb3キャラクタセットの使用 mysqlスキーマの予約されたテーブル名 64文字を超える外部キーの名前 廃

    非公式なmysql-upgrade-checkerをMySQL5.5で試してみる - 41から始めました
    yoku_0825
    yoku_0825 2018/12/05
    ちょっと対応考えてみます…!
  • ユニークキーのパフォーマンス - 41から始めました

    先日に続き、mysql-casualから。 しかも今度は自分からの質問。 yoku0825さんが答えて下さったので、自分のほうで検証して確認してみようと。 その結果をここにアップしました。 1.ユニークキーって? UNIQUE 制約を使用して、主キーに関係しない特定の列に重複した値が入力されないようにできます。UNIQUE 制約も PRIMARY KEY 制約も一意性を設定しますが、主キーではない列または列セットに一意性を設定する場合は、PRIMARY KEY 制約ではなく UNIQUE 制約を使用します。 UNIQUE 制約は 1 つのテーブルに複数定義できますが、PRIMARY KEY 制約は 1 つのテーブルに 1 つしか定義できません。 また、PRIMARY KEY 制約とは異なり、UNIQUE 制約は NULL 値を許容できます。ただし、UNIQUE 制約が適用される他の値と同様

  • テーブルやカラムのCollationは揃えよう - 41から始めました

    元ネタはMySQL Casualのslack この辺以降 それを見て、 そういや自分も2年前(DB移行時)にこれ調べたなー 社内メンバーに改めてちゃんと周知しよう なんか記事書くか という軽い備忘録的な感じ。 ちなみに、揃えないとどうなるか? slackにもあったように、 インデックスが効かない!(抽出はできる) 試しにテストテーブルを作る(個人の趣味が多分に含まれているのは気にしないこと) 使った環境はMySQL8.0.13 CREATE TABLE `test1` ( `test1_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'testID1', `test1_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名前', `test1

    テーブルやカラムのCollationは揃えよう - 41から始めました
    yoku_0825
    yoku_0825 2018/11/13
    “結果は変わらない。だが、実行計画は大きく違う。 これはデータが少ないうちは気づきにくく、データ量が増えてから「あーーー!!!」となるパターン。”
  • 1