タグ

dbに関するloca1982のブックマーク (52)

  • 地獄のようによくわかるSQLテーブル結合 - こせきの技術日記

    テーブルのJOINが苦手でしたが、この例を思いついてからは、すっきりくっきり理解できるようになりました。むしろ頭から離れません……。 ※ INNER、OUTERは飾り。省略できる。 INNER JOINJOIN LEFT OUTER JOIN → LEFT JOIN RIGHT OUTER JOIN → RIGHT JOIN ※ ON ...=... をまとめて USING(属性) と書ける。 ※ 何で結合するか言うまでもない時は、NATURALを指定すると勝手にJOINしてくれる。NATURALにJOINして……。 ※ WHEREは結合した結果に作用する。 ※ 現実には上図のように1対1で結合しません。 ※ おまけ。CROSS JOIN。 こんなの使いません。 ブクマ用画像。

    地獄のようによくわかるSQLテーブル結合 - こせきの技術日記
    loca1982
    loca1982 2010/09/17
    なんという・・・
  • MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary

    MySQL に限らず、SQL のNULL の仕様には何回か「えっ」と驚くことがあったのでメモしておこうと思います。5.1 版の日語マニュアルがなかったものについては、4.1 のマニュアルを参照しました。 そもそもNULL は何を意味するか NULL は未定義または、不明を意味する。「電話番号を持たない」ということを表現する場合は、NULL ではなく、空の文字列を使う。 NULL 値というものを SQL 初心者はよく混乱します。SQL 初心者は、多くの場合、NULL が空文字 "" と同じであると考えてしまいます。これは違います。たとえば、以下のステートメントは完全に別のものです。 mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (""); どちらのス

    MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary
  • 「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場

    松信さんがやってくれました。 ずいぶん前からデータベースの「正しい」構築と運用方法についてまとめたはないかなーと思ってました。自分はこれまで、様々なネットワークアプリケーションのプログラミングやデータベースの設計、チューニングを行ってきています*1が、問題が解決できたようには見えても、果たしてそれが最適な解決策だったのか不安に感じることがありました。それは、体系的な知識に欠けているからです。だから、網羅的な教科書がほしいなぁって思ってたんです。 とあるインターネットでこの前、松信さんから「いま書いてる」って話を聞いて、一部を見せていただいたりしたんですが、つい昨日、手元に届きました。やったね☆ 名前は「Linux-DBシステム構築/運用入門」。「入門」と銘打たれているものの、基礎的な知識から、なぜそうなるのか、どう応用すればいいのか、といった点まで広くカバーしている*2、全方位的な隙のな

    「Linux-DBシステム構築/運用入門」がすごい - あなたのシステム、ガラパゴス化していませんか? - kazuhoのメモ置き場
    loca1982
    loca1982 2009/09/19
    おもしろそう。読んでみたいので探してみる
  • 肥大化した「Firefox」の内部データベースをボタン一発で最適化「Vacuum Places」NOT SUPPORTED

  • MySQLの管理に役立ちそうな超多機能モニターツール「MONyog」:phpspot開発日誌

    MySQL GUI Tools. MySQL Monitor and Manager MySQLの管理に役立ちそうな超多機能モニターツール「MONyog」が結構便利そうです。 WindowsLinux上で動作するブラウザベースのツールです。 以下に、一部ですがそのフィーチャーについて紹介。 サーバごとのデータ、インデックスサイズが一覧できる データベースごとのサイズ、インデックスサイズなどをグラフで表示 クエリーアナライザー。クエリの統計が見れます。SQLごとの平均、最大実行時間などが分かりやすい どんなクエリが何回呼ばれたかといった統計 接続履歴、トレンド レプリケーションのステータス表示 プロセスリスト ダッシュボード Monyogの更なるスクリーンショットはこちら こちらにMonyogのドキュメントがあるので参考にしてください。 $99 〜のツールになりますが、これだけ多機能で、管

  • .NETによるOracle Database開発とは?(1/3) - @IT

    業務システムの構築において、使用する開発言語とデータベースの選定は、特に重要な事項の1つだろう。ここで業務システムの特性と合わないものを選んでしまったり、組み合わせを間違えたりすると、開発期間の長期化や稼働が不安定なシステムになるなどの問題が発生する可能性がある。 そこで特集では、開発言語「Visual Basic 2005/2008」とデータベース「Oracle Database 11g Release 1」の組み合わせが、実際どのような業務システムに対して、どれくらい有効なのかについて考えてみたいと思う。 ■.NETで、なぜデータベースが必要なのか? すごく基的なことだが、そもそも業務システムの構築にはOracle DatabaseSQL Serverなどのデータベース(製品)がなぜ必要なのだろうか。まずは、データベースがなかったころまで時代をさかのぼってみよう。 ●データベース

  • データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ

    データベースの醍醐味は、パフォーマンスチューニングにあります。 チューニングによっては、同じ処理でも1時間掛かる場合もあれば、 1秒で終わるということもあり得る世界です。 僕はDBの魅力に取り付かれた者の一人です。 DBという技術の奥深さが気に入っています。 DBを極めると、どこの現場に行っても絶対に必要とされます。 また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。 しかし、その基原理を体系的に学べる手段はあまりありません。 OracleMasterやMCDBAといった資格試験でも学べることは限られていて あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。 とくに肝であるパフォーマンスチューニングについては、 経験則でチューニングしている部分も多いです。 OracleSQLServer、MySQLと色々なDBのチューニングをしてきましたが、

    データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ
    loca1982
    loca1982 2009/08/07
    DBも勉強しなおさなきゃいけんよな・・・
  • Kazuho@Cybozu Labs: MySQL のボトルネックを統計的に監視・解析する方法

    MySQL のチューニング、と言った場合には、サーバーパラメータの調整や EXPLAIN コマンドを利用したクエリ実行計画の最適化が話題に上ることが多いです。しかし、発行する全ての SQL について、いちいち EXPLAIN コマンドを使って確認していては、いくら時間があってもたりません。チューニングを効率的に進めるには、まず、ボトルネックとなっている SQL クエリを特定し、次にその最適化を行うべきです。 ではどのようにして、ボトルネックを特定するのか。MySQL Conference & Expo 2009 のキーノートにおいて Mark Callaghan 氏は、Google では SHOW PROCESSLIST コマンドを使った統計的アプローチを使っていると述べていらっしゃいます (参照: MySQLConf 09: Mark Callaghan, "This is Not a

  • もう1つの、DBのかたち、分散Key-Valueストアとは

    もう1つの、DBのかたち、分散Key-Valueストアとは:分散Key-Valueストアの命「Bigtable」(1)(1/3 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 クラウド時代のデータベース「分散Key-Valueストア」 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。 Bigtableは、Google検索をはじめ、YouTubeやGoogle MapGoogle Earth、Google Analytics、Goog

    もう1つの、DBのかたち、分散Key-Valueストアとは
  • ひどすぎるネーミング - idesaku blog

    UKTKKNSHINF こういう名前の変数が出てくるのだが、意味わかる? 答え:受付禁止情報 今読んでいるPL/SQLコードは当にひどい出来なのだが、その中でもネーミングが群を抜いてひどすぎてむしろ笑えてくるので、ここでさらしてみたい。 先ほどの例でわかると思うが、悪しきネーミング習慣である子音母音抜きの嵐である。変数名だろうが関数名だろうがこのルールで命名されているので、暗号文を読んでいるような気分になる。 他には、例えばこんなのがある。 SKSI 作成 HNKN 変換 KKT 確定 CHKN 中間 DTM Datetime DTA Data こうして見ると、ktkrやwktkとなんら違いがない。 "作成"のような、比較的簡単に対応する英単語が見つかるものまで日語子音母音抜きで書くという徹底ぶり。でも"情報"はINFだったりする統一感のなさ。そしてこれらが単独ならまだしも、複合して出

    ひどすぎるネーミング - idesaku blog
    loca1982
    loca1982 2009/07/04
    タイトルから想像した以上にひどかった / むしろ正しいコメント、変数名を記述する方法を知りたい
  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

  • mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ

    MySQLでいちいちshow tables;とか打つのがだるい。\tみたいなalias設定できないのかなぁ http://twitter.com/weboo/status/1658300902 おぉ、readlineのマクロを使えばいいのかー http://twitter.com/weboo/status/1658314333 なるほ!ってことでちょっと設定してみました。 # ~/.inputrc $if mysql "\C-xd": "show databases;" "\C-xt": "show tables;" "\C-xu": "select user,host,password from mysql.user order by user,host;" "\C-xb": "select user,host,db from mysql.db order by user,host;"

    mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ
  • もしも、ドラゴンボールの21巻でクリリンがベジータのトドメを刺したら、この後ど... - Yahoo!知恵袋

    原作と同じようにクリリン・悟飯・ブルマでナメック星を訪れる。ベジータが居らずスカウターもないためクリリンたちは存在に気付かれず、安全に最長老によるパワーアップも施され、最長老宅にあるドラゴンボールを手に入れることでフリーザが7つそろえるのも防ぎしばらく平和なときを過ごす。が、ギニュー特戦隊の到着により状況は一変。ナメック星人以外の反応を不思議に思ったフリーザ側によりスカウターで場所を探られドラゴンボールを所持していることも発見される。交戦するも到底敵わず敗北、ベジータがいないため悟空の到着まで持ちこたえることもできない。これによりクリリン・悟飯の2名が死亡。その後しばらくして悟空が到着。クリリンと悟飯が殺されたことを知りこの時点でスーパーサイヤ人に覚醒。グルド・リクームの2名ともが健在の状態でバータ・ジースも含めた4名と交戦するも当然瞬殺。原作とは違いクリリンだけではなく悟飯も死亡している

    もしも、ドラゴンボールの21巻でクリリンがベジータのトドメを刺したら、この後ど... - Yahoo!知恵袋
    loca1982
    loca1982 2009/05/31
    dbタグをこんな形で使うことになるとは / 才能の無駄遣い これはもう妄想じゃなく創作だ
  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
  • DB設計時のサイズ見積もり - よねのはてな

    ここのところ、javaccとawsに魅了されている米林です。 よく使うDB(Oracle/MySQL/PostgreSQL/SQLServer)における設計時のサイズ見積もりで使うサイトの備忘録。 あとは、OracleからのPython情報。 Oracle Oracle 物理設計 http://www.oracle.com/technology/global/jp/columns/skillup/oracle9i/index.html 領域サイズ見積もり http://otn.oracle.co.jp/document/estimate/index.html OTNにログインする必要ありますがオンラインで見積もりが出来ます。 アカウント持っていない人は、この見積もりツールを使う目的でアカウントを作ってみてはいかがでしょうか。 OLTP系とDWH系においてブロックサイズを考慮し、DWH系はブ

    DB設計時のサイズ見積もり - よねのはてな
  • firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると

    Firefox 3を使っていて、起動が異様に遅くなっていて困っていました。 今回、どうやら解決した模様なので備忘録までに記載します。 Firefox 3にバージョンアップしてから、メインで利用しているPCで Firefox の起動が遅くて仕方がない、ipv6検索を無効にするとか試してみたけどもかわず、という状態でした。 だいたい同じAdd-onを 他のPCにも入れて利用していますが、そちらははそう遅くはないので、プロファイル系かあ、までは切り分けしてそのまま利用しておりました。 プロファイル再作成、面倒ですしね。 で、ふと思い立って Firefox 3 で利用している、SQLite データ群をかたっぱしから Reindex したら、 昔のスピードが再現しました。はやい! 改善:2つ 1)起動が速くなった(起動に1-2分かかる→すぐ起動。劇的に改善。) 2)サイト表示もはやい。 cookie

    loca1982
    loca1982 2009/05/13
    先にブクマした拡張を試して、ダメならこっちを
  • Mozilla Re-Mix: Firefoxのデータベースを最適化して高速化を図るアドオン「SQLite Optimizer」

    Firefox 3では、履歴やブックマーク、クッキーなどの他、一部アドオンの利用データもSQLite データベースで管理しています。 日々の利用により、このデータベースが大きくなってくると、Firefoxの起動に時間がかかったり、動作が緩慢になってくるということなどが考えられます。 このようなとき、データベースの最適化をすることによって、Firefoxの動作を軽くするという方法がブログなどにもよく書かれていますが、これを実行するには「SQLite Manager」というアドオンをFirefoxにインストールして起動し、お使いのプロファイルフォルダから該当データベースを探して[Reindex]を行うという作業が必要となり、初心者にはちょっと実行しにくいものがあります。 <参考記事> firefox 3が遅くなった→ SQLite reindexで解決&高速化 via しおそると Firefo

    loca1982
    loca1982 2009/05/13
    試してみる
  • [解説]Sun買収により,3年越しでMySQLを手に入れたOracle

    2009年4月20日(現地時間),米Oracleが米Sun Microsystemsを買収することで両社が合意した(関連記事)。買収により,データベース専用機という形でハードウエアに進出(関連記事)していたOracleはSunのサーバーとストレージ,約4万7000社というユーザーベースを手にする。 さらに,OracleはSunの持つGlassFishなどのミドルウエア群も手にすることになる。中でも注目されているのが,2008年にSunが買収したMySQLである(関連記事)。データベース最大手のOracleにとって,オープンソースのMySQLは事実上最大の競合製品であるからだ。 Oracleは2006年にMySQLの買収に失敗 Oracleは3年前の2006年にMySQLの買収を試みて失敗している(関連記事)。米メディアの報道によればMySQLOracleの買収提案を拒否。OracleはM

    [解説]Sun買収により,3年越しでMySQLを手に入れたOracle
    loca1982
    loca1982 2009/04/23
    そうかなるほど、MySQlはSunだったのか
  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門

    はじめに 連載では、PHPまたはプログラミング初心者の方を対象に、PHPを用いたWebアプリケーションの作成方法を説明していきます。今回は、データベースとSQLに関して、「おすすめレストラン一覧を閲覧できるWebサイトを制作する場合」を例にして、説明をしていきます。 対象読者 プログラミングが初めてでこれから学習する予定の方 プログラミングの経験はあるがPHPを初めて学習する方 この記事の内容 はじめに 対象読者 動作確認環境 データベースとは何か・・・データベースはどんな役割? データベース操作の基礎・・・データベース言語「SQL」とは SQL基礎:テーブルの作成・・・CREATE文を使ってみましょう SQL基礎:レコード追加・・・INSERT文を使ってみましょう SQL基礎:レコード検索・・・SELECT文を使ってみましょう SQL基礎:レコード更新・・・UPDATE文を使ってみまし

    データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門