タグ

MySQLに関するyud0ly115のブックマーク (11)

  • MySQLのトランザクションとテーブルロックの基本事項 - ぼっち勉強会

    DB周りは全然分かっていないし毎回調べては忘れていくのでアレコレとメモ。 手元の環境 Mac OS X 10.7.3 MySQL5.5 InnoDB前提 サンプルとして使うテーブル mysql> desc sample; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | val | int(11) | YES | | NULL | | +-------+---------+------+-----+--

    MySQLのトランザクションとテーブルロックの基本事項 - ぼっち勉強会
  • MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために - ichirin2501's diary

    この記事ははてなデベロッパーアドベントカレンダー2015の12月24日の記事です。 昨日は id:stefafafan さんのエンジニア英語でした。 こんにちは、こんばんは。 クリスマス・イヴですね、皆さんはどのような一日を過ごされる(た)のでしょうか。 僕は一人です。 改めまして、先日初めての合コンを経験/失敗して二度と行かないと誓った はてなの id:ichirin2501 です。今回は小ネタとしてMySQL(InnoDB)のBULK INSERTにおけるデッドロックの話をしようと思います。ただ、外部キー制約が絡むと複雑になるので今回は触れません。それについてはこちらを参照ください。 あ、タイトルはオマージュです*1。 Topic 検証環境 INSERTのデッドロック 避けられないケース もしくはロックする リトライ処理に注意 初期データ Duplicateの場合 Deadlockの

    MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために - ichirin2501's diary
  • 照合順序をutf8_general_ciからutf8_unicode_ciへ変更する - 馬場誠Blog(茨城県取手市で働くWebクリエイター)

    MySQLにて照合順序(colllation)の変更をする機会があり、少し調べたので自分用メモ。 やりたいことは、utf8_general_ciになっているテーブル(&フィールド)を、utf8_unicode_ciにするということです。 簡単なことなのかもしれませんが、今まで途中から照合順序を変更したことが無かったので、なかなかいい機会となりました。 方法 テーブルの紹介順序は、下記のSQLで簡単に変更できました。 ALTER TABLE `テーブル名` COLLATE utf8_unicode_ci が、、、しかし。すぐに気づかなかったのですが、これではフィールドの紹介順序は元のutf8_general_ciのまま変わらないんですね。 どうやら個別にフィールドも指定してやる必要があるようです。 ALTER TABLE `テーブル名` MODIFY COLUMN `フィールド名` VARC

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • MySQL Index勉強会外部公開用

    12. © CROOZ,Inc. 12 1.INDEXとはなにか 何枚目がなにかを事前にメモっておけば良い! スート ランク 位置 ハート Q 1 スペード 9 2 : : : ダイヤ 1 40 : : : スペード 6 45 なぜなら、要求は「カードを引く回数を最も少なく してスペード6を探すこと」 セコいとかおもうヒトはいるか もしれませんが何もセコいこ はしていないです。 前提条件など一切ないから このメモさえあれば位置を指定して1回引けば済む

    MySQL Index勉強会外部公開用
  • Mac へ MySQL を Homebrew でインストールする手順 - Qiita

    Railsのアプリケーションで MySQL を利用しよう(実稼働環境では AWS の RDS を使いたいので)と思い、まずは MacBook Pro に MySQL をインストールしてみたので手順をメモ。 前提 ローカルの環境(Mac)に MySQL をインストールします。 今回の OS X のバージョンは OS X 10.9.4 (Mavericks) です。 Homebrew でインストールします。 Homebrew自体が入ってなければ、Homebrewの公式ページどおり、次のようにインストール $ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

    Mac へ MySQL を Homebrew でインストールする手順 - Qiita
  • SQLアンチパターン勉強会

    はじめに 目的 こので勉強会する目的 語彙のシェア パターンの名前 「あ、これナイーブツリーだねー」みたいな Schema設計力向上 アンチパターンになっていないか?アンチパターンを使っているとしたらどうして?を設計段階から意識できるようにする アンチパターンを使ってもいい場合というのもの中にでてくる 対象範囲ではないもの このでは扱っていないこと(他の書籍で勉強してね☆) SQL構文について SQLの構文や用語に関する説明 正規化云々 パフォーマンス、スケーラビリティ、最適化 実践ハイパフォーマンスMySQL DB管理や運用 SQLRDBMS以外の代替技術について KVS MapReduce アンチパターンとは 問題の解決を意図しながらも、しばしば他の問題を生じさせてしまうような技法 すすめ方 週一で一章か二章毎 章毎に担当一人がまとめる 目安として2日前には Qiita へ投稿

    SQLアンチパターン勉強会
  • 【CentOS, PHP】CentOSへのPHP5.6, MySQL5.6環境の構築 - Qiita

    # rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

    【CentOS, PHP】CentOSへのPHP5.6, MySQL5.6環境の構築 - Qiita
  • vagrant で "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED" - Qiita

    背景 vagrant で起動した VM 上の DB に SSH 経由で接続しようとした場合などに、 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED が出てきて億劫だ。 毎度毎度 ~/.ssh/known_hosts から該当行を探して消すのに疲れた。 対応 ssh-keygen -R "[127.0.0.1]:2222" Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    vagrant で "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED" - Qiita
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • 1