タグ

dbに関するkayamelo151515のブックマーク (9)

  • mysqlで文字コードをutf8にセットする - Qiita

    mysqlの文字コードはチェックする場所が多いので原因を突き止めるのに毎回苦労します。 大きく二種類に分けられて、 クライアント側、サーバー側(mysqlサーバー)、及びそれらの接続の文字コード データベース/テーブル/カラムの文字コード です。 デフォルトをきちんと設定しておく そもそも作成したDBの文字コードが意図しない設定になっていたら、デフォルトの設定が間違っている可能性が高いので、再度同じ問題を起こさないためにも、設定見直し→DBをdrop→DBcreateという順番で直しに行きます。 1も2もデフォルトの設定は下記を実行すればok。 +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+-----------

    mysqlで文字コードをutf8にセットする - Qiita
  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
  • データベースの論理削除と物理削除

    データベースの論理削除と物理削除 データベースからデータを削除するには、「論理削除」と「物理削除」2種類の方法がありまります。 物理削除とは文字通りDELETE構文を利用しデータベースよりレコードを完全に削除してしまうことをです。 論理削除とは、データベースにフラグとなるフィールドを作成しておき、削除時に削除フラグを立てることにより、仮想的に表示時に見えなくしてしまう処理になります。 私がデータベース設計を行う際には論理削除を採用するのですが、論理削除のメリットデメリットをまとめておきたいと思います。 論理削除のデメリットが、物理削除のメリットになります。 メリット 誤ってDBからデータが削除された場合に簡単に復元できる デメリット 表示時にWHERE句にフラグの確認が必要になる 削除処理をUPDATE構文で行う為、非直感的である レコードが肥大し続ける為データベースのコストパフォーマンス

    データベースの論理削除と物理削除
  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 門外不出のOracle現場ワザ 第4章 | Oracle 日本

    門外不出のOracle現場ワザ 日オラクル株式会社 コンサルティング統括テクノロジーコンサルティング部 小田 圭二(おだ けいじ) 第4章 Oracleデータベースの頭脳 「オプティマイザ」徹底研究 日オラクル株式会社 コンサルティング統括テクノロジーコンサルティング部 小田 圭二(おだ けいじ) 目次 Part1  SQLを最適化するコストベースオプティマイザの基機能 はじめに CBOを使用する理由 SQL文の処理におけるオプティマイザの役割 Part2  CBOは何を見てどう判断するのか CBOのアクセスパス選択方法 ヒストグラム CBOとバインド変数 バインドピーク(Bind peek) I/O + CPUコストモデル CBOとフルスキャン CBOとキャッシュ効率 CBOとパラメータ CBOと結合順序 Part3  オプティマイザ統計の管理 自動統計収集 統計履歴の

  • https://blogs.oracle.com/oracle4engineer/post/entry/post_64

  • DB設計の難しさ

    今日は徒然なるままにDB設計について思っていることを並べてみようと思う。 ようやくWEB+DB Pressの次号の原稿を書き終えた。2年間の連載であるが、来年はプライベートが忙しくなる予定なので、連載はこれにて終了とさせてもらうつもりである。 「なぜ人はリレーショナルデータベースを使いこなせないのか」 このところ執筆や講演を通じてリレーショナルモデルについて説明する機会を色々頂いているが、それらの活動の根源となっているのが、この素朴な疑問である。その疑問をパワーにしてこれまで活動を行なってきた。 現時点での自分の回答は「データベース設計が難しいから」である。もちろんリレーショナルモデルそのものの難しさというのもあるが、それよりは「適切な使い分けができていない」ということが大きいように思う。言葉を変えると、リレーショナルモデルを適用すべきデータとそうでないデータの判断ができていないからDB

    DB設計の難しさ
  • 挿入と参照ロックに疲れ果てた俺たちは - ichirin2501's diary

    なかったらINSERTしたいし、あるならロック取りたいやん? from ichirin2501 www.slideshare.net 出来事 @ichirin2501 とりあえず何も考えずこの前のロックの話をSlideshareにあげてくれ!!— 柴崎優季 (@shiba_yu36) 2015, 8月 22 はじめに これは先日の社内勉強会で発表したもので、MySQLで特定の問題を解決したいときのノウハウ話です。特定の問題とは、アプリを書いてると「データがなかったINSERTしたい、あるなら排他ロックしつつ取得したい」という要望があったりします。例えば、あるユーザーアクションで初期値もパラメーターで渡されるケースで、データがないならそのままINSERT、既にデータがあるなら取得して状態に依存して更新処理を行いたい場合などです。見かけのロジックは単純に見えますが、MySQLでこれを実現しよう

    挿入と参照ロックに疲れ果てた俺たちは - ichirin2501's diary
  • 今まで見たもっともクソなテーブル設計 - 何か着ていればいいよ

    あれは、僕がデータベースを扱ううち最初から3件目のプロジェクトだった。 C++のソースが難解で火を吹いているという話で、自分は低スキルの若造。火にくべるには丁度良い程度のやる気と責任感をもっていた。折悪く別のプロジェクトが終了した直後だったもので投入されたのでした。 現場で『DBからデータを吸い出すツールかSQLを作ってくれ』といわれ話をきくと他社が作ったDB定義がすこぶる使いづらいという。 ER図やDB定義を見せてくださいと言ったのだけど、そんなものは無いという返事。 今ならもうここら辺で逃げ出すところですが、当時は『ふーん。』てなもんでそういうこともあるのかくらいの軽い気持ちで考えていました。 で、プロジェクトの資料をあさりまくって何とかDB定義のようなものも見つけDBのデータを調査し始めたのですが何かがおかしい。 機能の数に比して異様にテーブル数が少ないのです。 ふと周りを見ると、皆

    今まで見たもっともクソなテーブル設計 - 何か着ていればいいよ
  • 1