タグ

テーブルとMySQLに関するhit10231023のブックマーク (3)

  • MySQL,MariaDBでタグ機能(TAG)を実現する(TOXI法)①タグ関連のスキーマ設計 - Database JUNKY

    MySQLでタグのしくみを作る? MySQLでタグの仕組みを作る場合は、どのような設計をすればいいのでしょうか? タグの設計にはいくつかの種類があり Licious:コンテンツ系のデーブル1つの中にタグフィールドを持たせる方法 Scuttle: コンテンツ系とタグ系のテーブル2つでまかなうお不法 TOXI : コンテンツテーブル - 中間テーブル、タグテーブルの三種類からなる、TOXI等があります。 色々と調べた結果、TOXI方式が一番、納得感がありましたので、以降TOXI方を中心に説明していきます。 TOXI法では、 コンテンツ(日記とか、画像とか動画でもいいや)等のメインのテーブル コンテンツと対象のタグのid タグ名 の3つのテーブルを使ってタグ管理していきます。 ニューバランス(newbalance) トレーニングシューズ JSVRCTWT WHITE/TOXI 23.0cm 出版

    MySQL,MariaDBでタグ機能(TAG)を実現する(TOXI法)①タグ関連のスキーマ設計 - Database JUNKY
  • MySQL パーティショニングで高速クエリーを実現!! - Database JUNKY

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

    MySQL パーティショニングで高速クエリーを実現!! - Database JUNKY
  • GENERATED_ALWAYS

    いままでなんで、きずかなかったのだろう。。 例えば、こんなテーブルがあったとして DROP TABLE IF EXISTS test_tab1 ; CREATE TABLE `test_tab1` ( `Id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `CreatedAt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `Numeric_only_date_time` varchar(8) NOT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ; idはオートインクリメント値 numeric_only_date_timeは、現在の日付を、数字のみに表したもの(20180511みたいな)

    GENERATED_ALWAYS
  • 1