SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
Make a note of it: Web tech, montaineering, and so on. 『実践ハイパフォーマンスMySQL』4章のまとめ。中から7点をピックアップ。 複合インデックス インデックスによらないソート インデックスによる制約条件 フルテキストインデックス ワイルドカードは重い 非常に多数の行に一致する場合 インデックス情報の表示 読んだのは4章と5章。他はサーバ設定とかデータ分散とか、環境構築に近いディープな話。SQLレベルだとこの辺で十分でしょ。長いので、5章のまとめはまた後で。 マルチカラムインデックス ところで、単に2つのインデックスを作成したのでは、だめなのだろうか。そうしてもかまわないが、MySQLは、両方のインデックスを同時に使用することはできない。この事実は、繰り返し述べるに値するほど重要である。「MySQLでは、1つのクエリを実行するとき、
Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL
Geocoding Addresses with PHP/MySQL Pamela Fox & Tom Manshreck, Google Geo Team November 2007 This is the fourth article in our series on using PHP/MySQL with Google Geo APIs. If you're a PHP/MySQL developer, you may also be interested in our articles on loading markers from a database and creating KML from a database. Objective This tutorial is intended for developers who are familiar with PHP/MyS
この文書は、osCommerceで使用しているデータベースMySQLの基本的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysql(MySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル
mysqlでのテーブル分割時の検索手法についてお聞きします。 例えば、1億件の日記データをidによって5000万件ずつ別の テーブル(DiaryTable1, DiaryTable2)に分けるとします。 ※分け方は単純に剰余計算。 Insert時はidから剰余計算で格納先テーブルが分かるのでいいのですが、 全日記データから検索を実行したい場合、 DiaryTable1とDiaryTable2からそれぞれselectを実行し、 アプリ側で結果をマージするという処理しかないと思います。 こうすると、データのソートなどアプリ側の処理がかなり複雑化する気がします。 こういった形で複数にテーブル分割を行っていて、 それら全部からどのように(横断検索とでもいうのですかね?) selectを行い、マージをしているか、いい手法があれば教えて下さい。 ちなみに、環境はMysql5 + php5(adodb)
長い間運用中のテーブルが巨大化しクエリが遅くなりファイルの上限サイズ(4G) に達しそうになる。 実験として別サーバに用意したコピー環境で古いデータを削除してみたが処理終了までに物凄い時間がかかり削除にかかるコストは膨大である ということがあらためて判明。 また削除後はフラグメーションになるだけで実際のファイルサイズは変化しない。 ファイルサイズへの反映には optimize table をする必要があるがこちらも膨大な時間がかかる。 従って削除による解決はサービスの長時間停止が必要なので無理っぽい。本当は削除したくないし。 で、テーブルの分割 (MERGE テーブル) を実験してみた。 MERGE テーブルとは同じスキーマを持つ複数のテーブルを、あたかも1つのテーブルであるかのようにMERGEして扱える機能。 手順は次の通り。 ・既存のテーブルをリネーム rename tabl
大量のデータを1つのテーブルに格納すると何かと不便となる。処理対象が大量だけに検索をはじめとして処理時間が大きくなる。現実の生活は、手に余る大量の物を小分けにするというテクニックをよく使う。データベースでもこの手法は有効である。大量データを小分けにすることで、処理の高速化と格納効率を向上することが可能である。今回は、MySQL 5.1の新機能の筆頭に上がっているパーティショニングを解説する。 MySQL 5.1の注目機能パーティショニングとは パーティショニングとは、テーブルを分割して性能を向上させるための技術だ。MySQL 5.0でもテーブルの分割機能はあった。複数のテーブルを連結して1つのテーブルに見せかけるMARGEストレージエンジン(テーブル)、SELECTステートメントを結合するUNIONなどがある。これらの機能は、もともと別々のテーブルを結合して処理する後処理的な位置づけになる
I'm currently getting the warning every time I run a Python script that uses MySQLdb: /var/lib/python-support/python2.6/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated from sets import ImmutableSet I'd rather not mess with their lib if possible. I'm on Ubuntu server. Anyone know an easy way to fix that warning message? Thanks UPDATE: Fixed it based on the suggestions belo
Real World Scalability MySQL - Presentation Transcript If this text is too small to read, move closer! Real World MySQL Performance Tuning Slides at http://develooper.com/talks/ Jay Pipes (Jays slides are in a different MySQL AB PDF, see the url above) Ask Bjørn Hansen Develooper LLC r12Hello. • I’m Ask Bjørn Hansen • This is Jay Pipes • 83* brilliant° tips to make your website keep working past X
ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基本中の基本であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く