タグ

DBに関するhardboiled243のブックマーク (8)

  • Rails DB Migration - How To Drop a Table?

    I added a table that I thought I was going to need, but now no longer plan on using it. How should I remove that table? I've already run migrations, so the table is in my database. I figure rails generate migration should be able to handle this, but I haven't figured out how yet. I've tried: rails generate migration drop_tablename but that just generated an empty migration. What is the "official"

    Rails DB Migration - How To Drop a Table?
  • Zend_Db_Table_AbstractでZend_Cacheを利用して負荷軽減

    どうも俺@ZendFrameworkを利用してWEBアプリを開発中です。 Zend_Db_Tableを継承してクラスを作成すれば、すでに様々なメソッドを持ったクラス(Bean)を作成することができます。 <?php class MyBean extends Zend_Db_Table { } で、このZend_Db_Tableの生成は <?php $bean = new MyBean();です。 <?php var_dump($bean->info());とすると、そのテーブルに関するメタデータ情報が連想配列で取得できます。 ・name => テーブル名 ・cols => テーブルのカラム名の配列 ・primary => 主キーのカラム名の配列 ・metadeta => カラム名とカラムに関する情報を関連付けた連想配列。discribeTable()と同じ内容 ・rowClass => 行

  • DBチューニングできますか? - Perl日誌

    あらすじ 面接に行くとDBに関しての知識はどれぐらいあるのかを問われる事が多々あります。 それは良いのですがその質問がざっくりとしている事が多々あります。たとえば次のように広い質問をうけたりします。 「DBのチューニングはできますか?」 何を基準にした質問なのか、何を基準にして答えればよいのかいつも困るので事前に回答をまとめてから面接に行くとしようという試みです。*1。 そもそもDBのチューニングって何? DBのチューニングできますか?と言われて困ったのは、「相手が期待している回答は何?」という事です。 前提が異なる両者が会話をしても収束しないのでまずは言葉の定義を明確にしたいと思います。 ちなみにこの質問に「ファイルに保存されている情報をより少ない手順で引き出せるか、という質問なのでしょうか?」と逆に質問したところ相手も困惑していました。 今思えば「WEBアプリ作って運営してるとしょっち

    DBチューニングできますか? - Perl日誌
  • MySQL5.5.3-m3のDATETIME型のバグ。あとMySQLの DATETIME型は本当に遅いのか検証してみた - 2010-04-30 - 小野マトペの業務日誌(アニメ制作してない篇)

    バグの話 近々ふぁぼったーDBのInnoDB化を企てているので、それに伴いMySQL5.0.67(Tritonn)から、先日リリースされたばかりのMySQL5.5.3-m3に乗り換えてみた。RC(リリース候補)版ということで、GA版とほぼ変わらない品質と聞いたので、割と軽い気持ちでインストールしたんだけど、いきなりバグにハマった。 バグとは、DATETIME, TIMESTAMP, DATE, TIME型と文字列定数との結合でインデックスが使われない、というもの。 以下のような、date(DATE型)の結合しかしていないクエリでも、dateインデックスが使われず昇順フルテーブルスキャンされ、20秒くらい掛かった。 select date from STATUS force index(date) where date='2010-01-19' limit 10; この現象は、5.5.3,5

    MySQL5.5.3-m3のDATETIME型のバグ。あとMySQLの DATETIME型は本当に遅いのか検証してみた - 2010-04-30 - 小野マトペの業務日誌(アニメ制作してない篇)
  • MySQLの高速化 - FreeStyleWiki

    はじめに MySQLでSELECT文が遅いと感じたり、INSERT処理だけで1日かかった!なんて事ありませんか?そんな時はページのメモを参考に高速化してみてください。ちょっとした設定だけで1日かかる処理が数分で終わる(!?)なんて事も。ぜひお試しあれ。 SELECT文の高速化 テーブルの分割 同じ構造のテーブルでもいくつかに分割して1テーブルあたりのデータ量を減らす。例えば、wordというテーブルがあるとすると、ja_word,en_wordなど国別に分割したり、word2005,word2006など年月日で分割してみる。 テーブルにインデックスを設定する。 create index インデックス名 on テーブル名 (フィールド名);文字列の場合はインデックスに設定する文字数を指定可能。create index インデックス名 on テーブル名(フィールド名(要素数));私がやってみた

  • MySQLクイック・リファレンス

    この文書は、osCommerceで使用しているデータベースMySQLの基的な使い方について解説しています。おもにデータベースの管理者よりも、ユーザに向けて書かれています。 はじめに ここでは、MySQLサーバは起動しているものとして説明します。 MySQLの文字について MySQLでは、データベース名やテーブル名の大文字と小文字を区別しています。それ以外は区別しません。 MySQLのフィールド名やテーブル名に使える文字は、英数字と_(アンダーバー)、$、サーバのキャラクタセットにある文字です。 知っておきたいコマンド mysqladmin(データベースの作成・削除や、MySQLサーバの情報を得る) mysqlshow(データベース、テーブルの情報を表示する) mysqlMySQLクライアントの起動) mysqldump(データベース、テーブルをダンプする) myisamchk(テーブル

  • MySQL初心者入門講座

    格的なプログラミングを学びたい場合は Java初心者入門講座 を次のステップとしてご活用ください。 ・Web系のプログラミングを学びたい場合は PHP初心者入門講座 を次のステップとしてご活用ください。 MySQLのようなリレーショナルデータベースでは、複数のテーブルを結合することができます。 今回は「T01Prefectureテーブル」と「T00Areaテーブル」を結合して、まるで一つのテーブルのように表示してみます。 テーブルの結合には同じ値のフィールド同士を使います。結合に使われる「AREA_CD」のようなフィールドをキーと言います。 SELECT * FROM T01Prefecture; SELECT * FROM T00Area; 結合の種類には、内部結合(インナージョイン)、外部結合(アウタージョイン)、自己結合(セルフジョイン)、交差結合(クロスジョイン)、和結合(ユニ

    MySQL初心者入門講座
  • データベースを設計する際に、 ・テーブル名 ・カラム名 を決定します。…

    データベースを設計する際に、 ・テーブル名 ・カラム名 を決定します。 その際の、命名規則で悩んでいます。 例えば、ユーザテーブル「user」内に、 ユーザID「user_id」があるとします。 別テーブルにも、ユーザIDをユニークとしたカラムがある場合、こちらも「user_id」とするか、「テーブル名_user_id」にするかで悩んでいます。 今まではカラム名はかぶらないように全て変えていましたが、実際に運用されている方はどのようにしているのか気になりました。 この場合、どちらのほうがいいのでしょうか?

  • 1