tableに関するletskunのブックマーク (3)

  • MySQLでいいね!(LIKE)機能のDB設計をしてみた! - Database JUNKY

    いいねってなに? FACEBOOKですと、いいね、 Twitterだと♥のあれです。エンゲージメント率を高めるばかりではなく、記事の拡散にも効果を発揮しますよね。また、サービス運営者視点で話すと、話題が見つけやすくなりますよね。 ってなわけで、今度はいいね。のテーブル設計をどうするか?というのは試してみたいと思います テーブル設計 構造はいたってシンプルです。 CREATE TABLE `likes` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `article_i

    MySQLでいいね!(LIKE)機能のDB設計をしてみた! - Database JUNKY
  • これはすごい!mariadb10 でマルチソースレプリケーションでデータベース統合! - Database JUNKY

    MariaDBでマルチソースレプリケーション 私的に待ちに待ったあの機能が追加されました。それは、マルチデータソースレプリケーション、mariadb10.0から実装されるという話は知っておりましたが、ようやく触る機会がきたので試してみようと思います。 余談ではありますが、弊社では、30スキーマはあろうデータベースをこれで一台に集約しておりますので、ちゃんと実績はありますのでご安心を そもそもマルチソースレプリケーションとは何? 異なる2つのインスタンスのデータベースを、1つのSLAVEでレプリケーションしちゃおうという意味です。たぶん言葉で説明するのは難解なので、図を以下に載せます。 え?これって、昔からできるんじゃないの?と思った方(自分)。実は、MySQLはこれができなかったのです (T_T) MySQLのレプリケーションを触り始めた時は、マルチマスターレプリケーションがそれだと思って

    これはすごい!mariadb10 でマルチソースレプリケーションでデータベース統合! - Database JUNKY
  • MySQL パーティショニングで高速クエリーを実現!! - Database JUNKY

    MySQL(MariaDB)には、レンジパーティションってものがありまして、うーなんでしょ?ある規則にしがったデータをおのおののデータファイルに振り分けてくれるストレージエンジン的なものです。 データ領域が分割されるため、大量のデータを処理することによる性能上のボトルネックの発生を抑えられる MyISAMなど、テーブルサイズに上限がある場合でもそれ以上のデータを格納することが可能になる といった点です。 MySQLでもMariaDBでも、古いバージョンからある機能ではありますが、数百万規模のデータですとSQLの条件によって、読み込む分母のレコード数が少なくなるため、パフォーマンスは向上するわけですね。 サンプルテーブル こんなテーブルを作ってみました。非パーティショニングテーブルですね。つまり普通のテーブルです。これをベースにパーティショニング化を検証してみます。 | sample_tab

    MySQL パーティショニングで高速クエリーを実現!! - Database JUNKY
    letskun
    letskun 2018/09/12
    MySQLのパーティショニングで、SQLのパフォーマンスをアップする方法
  • 1