タグ

mysqlに関するretdaisukeのブックマーク (15)

  • Yii2 でわかるインターネットアプリケーションの日時ベストプラクティス - Qiita

    海の向こうのサーバーで日時の扱いをどうするのかは、いつも悩ましいところです。自分なりの答えを先に言うと、論理値以外のリアルな日時は UTC ベースの Unix タイムスタンプで正規化して扱い、画面表示するまでに別の形式に変換するのは禁止です。 以上。 というのは乱暴なので、Yii2 で日時がどう扱われるかを見ながら、その根拠を考えてみたいと思います。 Yii2 における日時 Yii2 のアプリケーションテンプレートでは、タイムスタンプの日時をデータベースに保存するさい、整数型で Unix タイムスタンプの整数値を保存するようになっています。 [ // ... 'created_at' => Schema::TYPE_INTEGER . ' NOT NULL', 'updated_at' => Schema::TYPE_INTEGER . ' NOT NULL', ] これはなぜでしょう?

    Yii2 でわかるインターネットアプリケーションの日時ベストプラクティス - Qiita
    retdaisuke
    retdaisuke 2016/03/23
    日時をdatetime,timestamp,integer型のいずれであつかうべきか
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

    MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in

    DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!
  • MyNA Web Site

    Home 資料置き場 作者プロフィール † 氏名:松信 嘉範 (MATSUNOBU Yoshinori) 所属:サン・マイクロシステムズ株式会社 役割:MySQLコンサルティング Blog:http://opendatabaselife.blogspot.com/ Twitter:http://twitter.com/matsunobu ↑

  • レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ

    MySQLで、レプリケーションベースのHAな構成について考えたメモです。 3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書きます。 今のところはこれがベストかなと思っているのですが、「こうしたほうがいいと思う!」「ここがおかしい!」などなどのご意見はコメント、TBなどでいただけるとうれしいです。 ゴール マスタが落ちてもぐーすか寝ていられるようにしたい リカバリの作業はできるだけ単純に、かつ、短時間で完了するようにしたい めんどくさいのはいや 基構成、方針 2台+1台 サービスで使うのは2台 (db1, db2) もう1台は管理用 (db3) スレーブを多数並べる構成にはしない 台数増えると管理コストが上がる マスタダウン時のフェイルオーバとそのフェイルバ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ
  • Mysqlの5で、OracleのRow_Numberみたいな 挙動をしたい場合は、どうしたらいいのでしょうか?…

    Mysqlの5で、OracleのRow_Numberみたいな 挙動をしたい場合は、どうしたらいいのでしょうか? SELECTした内容に順序を付与したいです。

  • エンタープライズ:MySQL独自のENUM・SET型を使ってみよう

    JAVA Developer特別企画] MySQL独自のENUM・SET型を使ってみよう 読者の皆さんは、テーブル定義に使用するデータ型で悩んだことはありませんか。フォームから入力されるデータはすべて文字列ですが、ラジオボタンやチェックボックス、選択ボックスのデータは決まった候補から選択する固定の文字列です。ここでは、MySQL独自のデータ型を使って、選択型の文字列を効率よく保存・参照する方法を紹介します。 JAVA Developer 2003年10月号より転載 MySQLのENUMおよびSET型は、文字列型に分類されるMySQL独自のデータ型です。ENUM型はプルダウン式の選択ボックスやラジオボタン、一方、SET型は複数のチェックボックスにうまく適用できそうなデータ型だと思います。まずはENUMとSET型を使ったテーブル定義を見てみましょう。

  • 第1回 連番の特性を利用してデータ操作をもっと自由に SQLで連番を扱う (2)行集合に連番を割り当てる | gihyo.jp

    まず、ROW_NUMBERを使う場合には、特に悩む必要はありません。ORDER BYのキーに追加しましょう(リスト3⁠)⁠。実行結果は図2です。 リスト3 主キーが複数列の場合(ROW_NUMBER) SELECT class, student_id, ROW_NUMBER() OVER (ORDER BY class, student_id) AS seq FROM Weights2; 図2 リスト3、4の実行結果 class student_id seq ----- ------------ --- 1 100 1 1 101 2 1 102 3 2 100 4 2 101 5 2 102 6 2 103 7 一方、相関サブクエリの場合はどうでしょう。いくつか方法があるのですが、私が最もシンプルと思うのは、複合キーを文字列とみなして連結し、強引に1列のキーに作り変えてしまうことです。そ

    第1回 連番の特性を利用してデータ操作をもっと自由に SQLで連番を扱う (2)行集合に連番を割り当てる | gihyo.jp
  • MySQLで行番号を得たい

    MySQLの場合、ユーザ変数を使うと簡単にできます。表empに、給料額を入れたsalというカラムがあり、それをソートしてrownumを付けるには以下のようにします。 mysql> set @rownum = 0; select @rownum := @rownum + 1 rownum, sal from emp order by sal; Query OK, 0 rows affected (0.00 sec) +--------+------+ | rownum | sal | +--------+------+ | 1 | 800 | | 2 | 950 | | 3 | 1100 | | 4 | 1250 | | 5 | 1250 | | 6 | 1300 | | 7 | 1500 | | 8 | 1600 | | 9 | 2450 | | 10 | 2850 | | 11 | 29

    MySQLで行番号を得たい
  • mysql:12071 階層化されたデータをMySQLで扱う

    From: zen kishimoto <zen kishimoto <zen@xxxxxxxxxx>> Date: Sat, 03 Sep 2005 09:24:15 -0700 Subject: [mysql 12071] 階層化されたデータをMySQLで扱う (Managing Hierarchical Data in MySQL) http://dev.mysql.com/tech-resources/articles/hierarchical-data.html (図はこのサイトを参照のこと) Mike Hillyer著 初めに 多くのユーザーは一回くらいはSQLデータベース内で、階層化したデータを 扱ったことがあると思います。そのときはリレーショナル データベースは階層化したデータ用に開発されなかったと考えたと思います。 リレーショナルデータベースのテーブルは階層化されておらず

  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

    retdaisuke
    retdaisuke 2009/08/19
    異常時のポイントなど
  • mysqlのレプリケーション

    こんばんは、牧野です。当に久々のブログになりました。。。 今回の話題は、mysqlで行うレプリケーションについてです。 レプリケーションは「複製」という意味で、元となるデータベース(マスタ)をコピーして、複数のデータベース(スレーブ)を作ります。 レプリケーションを行うとマスタで実行された更新系クエリがスレーブでも実行されるようになります。 もう少し正確に言うと、データ更新があったかどうかをスレーブがマスタに聞きに行き、マスタでデータ更新があった場合は同じクエリを各スレーブでも実行するという仕組みです。 したがって、更新系のクエリはマスタだけで実行するようにしておけば、参照系のクエリはマスタ、スレーブどちらで実行した場合も同じ結果が得られます。 という訳で、レプリケーションを行うと ・参照系クエリを受け付けられるデータベースが増えることで、高負荷に耐えられる ・同じデータを複数のデータベ

    mysqlのレプリケーション
  • mikuriya.biz

    This domain may be for sale!

    retdaisuke
    retdaisuke 2009/08/19
    MySQLを止めずにデータの整合性をとる
  • MySQLでのレプリケーションの設定 - KAWANO's PukiWiki

    レプリケーションとは 通常、データベースを別のサーバに複製することを、「レプリケーション」という。 レプリケーションのメリットは、次のとおり。 データベースのバックアップ データベースの冗長化 サーバの負荷分散 MySQLは標準でレプリケーション機能を備えているが、 その方式は「マスタ-スレーブ方式」で、 データベースの更新を受け付ける「マスタ」と、 マスタから伝搬されたデータを受け付ける「スレーブ」からなる、 一方通行の複製になる。 細かいことは、参照先のページを見ること。 ▲ ▼ 今回の目的 まったく同一構成の2台のマシンがあるので、 1台をマスタ、もう1台をスレーブにして、 データベースのバックアップと冗長化をはかる。 ▲ ▼ レプリケーション用のユーザの作成 スレーブがマスタに接続するための専用ユーザを、マスタで作成する。 与える権限は「REPLICATION」「SLAVE」

  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • 1