MySQL
レコードがなければINSERT、あればUPDATEなどどいう超便利なSQL構文があります ON DUPLICATE KEY UPDATE オプションがそれなのですが、 結構便利です、今回 MariaDBで試しておりますが、MySQLでもおそらく同様にいけると思います。
かなり無理やりだけど、集計の結果を横倒しで表示するサンプルSQLです。 かなり、無理やりですが笑 こんなデータを。。。 +------------+------+ | wdate | cnt | +------------+------+ | 2014-01-21 | 1 | | 2014-01-22 | 20 | | 2014-01-23 | 10 | | 2014…
MySQL5.6~ で日本語全文検索ができるぞ!!! 最近MariaDBばかりやっていて、MySQLの存在を忘れていたのですが、今まで英語しか利用できなかったのに、いつの間にか標準で日本語全文検索ができるようになっていたので、久しぶりに触って見ようと思います。…
現在日時を、YYYY-MM-DD の形式で表示されることがもっとも普通なのですが笑、時と場合によって、日付を8桁の数字のみで表したいとかありますよね。そんな時は、DATE_FORMATでやっちゃえばいいんです。
python3でコードを書いているうちに、MySQLに関わる部分のソースが煩雑になってしまうため、ビジネスロジックは、全て、MySQLのストアドプロシージャにまかせるってことでこんなに綺麗なソースじなります。(あくまでも個人的な主観ですが) なお、python3で…
開発の人に見せたらすごく笑われてしまいますが、ちょっと勉強用のため、ここにメモを残しておきます。 サンプルは、python3でMySQLからSELECTした結果をjsonで返すものです。自分的にapi (笑)的なもの port 5000番で待ち受けます port 8080から上記をCALL…
日付(From - To )にて、レコードが重複(かぶっている)ものを抽出するSQLのサンプルです。うーん、なんて言えばいいのか 日付期間の重複チェック と言えばいいのか、日時の範囲チェックというべきか・・・なかなか難易度が高かったので、メモを残しておきま…
調べればすぐわかるのですが、一応メモ。 MySQLを利用した運用の中で、どんなクエリが発行されているのか見たい時ありますよね? 通常ですと、スロークエリーを見るケースが多いので、そちらを見るのかな? しかしながら、スロークエリーではないのですが、…
使いみちによっては、すごく便利なトリガーについて説明します。使いみちと書いたのは、なんでもかんでもトリガーにもりもりしちゃうと対象テーブルのパフォーマンスに影響出ちゃうよという乱射状態になってしまいますので注意って感じです トリガーとは Tri…
あー。。別にamazon linuxに絞り込む必要はないのですが。もう、ec2以外ではそんなにやる気ないなーって思うので、備忘録がわりに残しておきます。 Linkwitz Bluetooth ヘッドホン 4.1 HiFi高音質 ステレオ ワイヤレスヘッドホン マイク付き 折り畳み式 有線…
Galara Cluster for MySQL 5.7 でクラスタ環境を構築する 前回のMariaDBでのGalera Clusterの構築は手違いで消してしまった(−_−;)今回は、MySQL5.7でGalera Clusterを構築、運用することをやっていきたいと思います。以外と簡単ではあるのですが、今回EL…
Mariadb10.2 Include Galera Cluster 日々のデータベース運用の中で、一番大変なのが、パフォーマンスチューニング。 チューニングの大半は、索引チューニングを行うか、SLAVE サーバをスケールアウトして、負荷分散するかの2つを行いうのが(私的には)一…
月に一度はかならずはまるnagios サービスが長期化すると、この観点でも監視を入れないとだめだっていうのがどんどん増えてきて対応はするのですが、また数日後、どう設定したんだっけ?というのを忘れてしまうのが難点なので、あくまでも自己流ですが、メモ…
MySQL5.7のインストール しばらくMariaDBに使っていたので、MySQL 5.7のインストール方法について、すっかり忘れてしまったので、備忘録代わりに書きます。その過程でエラーおよびワーニングが発生ししたものに関しては、1つずつ、my.cnfを修正して、結果エ…
もう、設計としては完了しているので、作成されたデータを元に応用SQLを考えてみます。 もう特に考える部分はないので、あとは好きな角度からSQLを発行するだけでいいと思います。 TANITA 【SDカード搭載】 & 【乗った人をピタリと当てる「乗るピタ機能」搭…
前回 hit.hateblo.jp にて、タグデータを投入する説明はしましたが、肝心のDIARYの中での紐付けについては書いていませんでした。 前回の記事を含め、タグのマッピングの登録方法についても記載していきます。もちろんストアドプロシージャベースでの話です
前回の、TOXI法による、MySQLのタグのしくみを説明しました。 hit.hateblo.jp 正規化として、これ以上ないくらいの完璧さなのですが、実際このタグ、複数のユーザーが任意に設定できるという、いわゆるソーシャルタグの場合はどうでしょう? 正規化とはうら…
MySQLでタグのしくみを作る? MySQLでタグの仕組みを作る場合は、どのような設計をすればいいのでしょうか? タグの設計にはいくつかの種類があり Licious:コンテンツ系のデーブル1つの中にタグフィールドを持たせる方法 Scuttle: コンテンツ系とタグ系のテ…
MySQL(MariaDB)のオートナンバー型ってもちろん便利なのですが、数年システムを運用していくと、こんな課題が出てきてしまいます。 とあるWEBシステムで、規則性のあるデータを見つけてしまう。ちなみに、これ、セキュリティの話ではなく、あくまでも、外…
いまいちキューの概念がわかっていないのだが、ようはあれかな?非同期で、データをやりとりするもの?え?違う???たとえば、受注処理の場合とか、受注が完了するまでアプリケーションが待つのではなく、キューという形で一連の受注プロセスからデーモン…
MySQLおよびMariaDBにおいて、ストアドプロシージャを作成するときにいちいち、探しまわる時間がもったいないので、テンプレート的なものを用意しました、基本的、コンソールにコピペで行けるようにしておりますのでご自身の環境で作成する際のサンプルにご…
MySQL5.5からMaria10.0に変更したら、いつの間にか、linuxコンソールにてrootから、su - mysql ができなくなってしまいました。そちらを、su - できるようにした対処方法をメモします こんなエラーになってしまいました。 "This account is currently not av…
何が起きたのかさっぱりわからないのですが、MySQL(MariaDBのパスワードがrootから何から消えてしまった。。 なぜ消えたのかは置いておいて、とりあえず、現状復帰しないことには、だーれも接続できない状態が続いてしまう・・これはまずい。 そんな場合のro…
MySQL/MariaDBでのパフォーマンス低下一番の理由がスロークエリーです。MySQLでサービスを展開しているデータベースやさんって、例外なくここをきにするのではないかな?と思います。そしてスロークエリーが発生した場合の一番の対策は、適切な索引(INDEX)…
私、データベースエンジニアです データベースエンジニアとは 仕事を進める上で、多数の別部門との協力が必須となるデータベースエンジニアには、高いコミュニケーション能力が求められます。また、物事を論理的に考えることが好きな方もデータベースエンジ…
データベースを作成する まず、ソーシャルサービス系のデータベースといってもデータベースという大きな鉢がないとどうしようもならないため、データベースの作成をする必要があります。 データベースの作成といっても簡単で、ほんと、数秒で作成が終わっち…
フォロー/フォロワーのテーブル設計 ソーシャルネットワーク系のデータベースでフォロー/フォロワーってどんなしくみで設計しているの?なんていうのを中心にまとめてみました NURO光キャンペーン ネットのみでも必ず3万円が貰える! 有効な暇つぶしの方法と…
mysql でテーブルの索引がどう設定されているのか知りたいときがあると思うのですが。その場合、 mysql> show index from TABLE_NAME; で確認できます でわ、スキーマ内の全てのテーブルの索引を抜き出したい場合はどうするか? というわけでinformation_sch…
MYSQLには、GROUP_CONCATというすばらしい関数があるのですが、ような複数のレコードのとある値を、一行にまとめるということができる関数で、そりゃーもう便利です!!今回はこのGROUP_CONCATを利用して、SQLからSQLを生成するなんていうサンプルを作ってみ…
日々の運用の中で、レプリケーションエラーが発生した場合、原因が分かっているものは、とっととスキップさせて先に進めたいですよね? そんなときには、SQL_SLAVE_SKIP_COUNTERを設定することでレプリケーションのエラーをスキップすることができます Fire …