kagamihogeの日記

kagamihogeの日記です。

DB

Oracle 11g XEでデータベースリンクをつくってみる

なんか急にやってみたくなったのでOracleの勉強もかねて。あと、テキトーにやったらできちゃった系エントリなので、正確な情報は期待できません。まずOracleのネットワーク接続の設定が必要らしい、ってことで、ローカル側とリモート側のtnsnames.oraに下記…

SQL Developerからテーブルにデータを入れる

INSERTやUPDATE文書きましょうね、という話ではあるんですが。GUIでやりたいときもあるものなのでやり方をメモ。環境はSQL Developer 3.1, Oracle 11g xeです。他のバージョンや別のRDBMSへは上手く行かないかもしれないのであしからず。とりあえず適当なテ…

プロとしてのOracleアーキテクチャ入門

Oracleというかミドルウェアというのは適当に使ってもそれなりの性能を発揮してくれるというのが強み。一般的には。Oracleはバージョン重ねるごとに適当に使っても良いレベルが上がってきており、内部構造を知らないとにっちもさっちもいかない、みたいな事…

カーソルのループでINSERT100万とSELECT INSERT100万の速度比較してみた

やるまえから結果が見えてる試みではあるんですが。最近SQLを再勉強するにあたり、SQLてのは、手続き的にループ回すのに比べて集合to集合の演算の方が圧倒的に早い、というのを改めて認識した。なので、このエントリはそれを実感するのが目的です。 やったこ…

達人に学ぶ SQL徹底指南書

少し前に仕事で書いたSQLが爆発したこともあり、そろそろSQLをまともに勉強しなおす良い機会かと思いこの本を買ってきた。書評とかを見ると、今風にSQLを学びなおすには丁度よさそうだったので本書をチョイスしたのだが、丁度良い塩梅の難易度だった。SQLの…

Oracle SQL Developer 3.1の新機能をためしてみる

無償のDB開発ツールOracle SQL Developer 3.1が正式リリースされました (オラクルエンジニア通信) というわけでSQL Developer 3.1 New Featuresを基に3.1の新機能をためしてみた。以下「 」でくくった部分はリリースノートの俺訳です。なお、このエントリは…

Oracle SQL Developerのマイグレーション機能を使ってみる

基本的には、移行ツールあるんだからOracle使えやオラッと言いたいための機能であり、プログラマにとってはそう滅多に出番が巡ってくるものではないと思います。が、せっかくなので試してみることにしました。 こんな環境でやりました 移行元 Adaptive Serve…

Oracle SQL Developer 3.0から3.1へ設定のインポート

無償のDB開発ツールOracle SQL Developer 3.1が正式リリースされましたというわけで、ダウンロードと起動だけやりました。3.1のzipファイルをダウンロードしてきて、3.0とは異なる適当なディレクトリに解凍したあと、3.1のsqldeveloper.exeを実行する。そう…

OracleのSQL Developerが便利

製品情報 - Oracle SQL DeveloperOracleから無償ダウンロードできるSQL Developerというツールがかなり便利だったので紹介してみる。なおこのエントリで使用するOracle SQL Developerのバージョンは3.0です……が、ちょくちょく追記しているため、3.0or4.0以降…

RDBMS解剖学 よくわかるリレーショナルデータベースの仕組み

おおよそ近年の Web アプリというか業務アプリは RDBMS の存在無くして語ることは出来ないケースがほとんどである。RDBMS ってのはホントーによくできていて、SELECT,INSERT,UPDATE,DELTE の 4 つの SQL を知っていればホントーにお手軽に永続化機構が利用で…

Head First SQL 頭とからだで覚えるSQLの基本

題名は SQL になってるけど、実際には SELECT,DELETE,INSERT,UPDATE のキホン的な SQL だけじゃなく、データベースって何ぞ? ってところやテーブル設計にも話が及んでいるので、実質上 RDBMS の入門書になっている。なんでこうなってんの? というところに…

ロックテーブルでデッドロック回避

DB

更新系の DB 処理でテーブルのロック順序に起因するデッドロックは、クエリ発効の流れをきちんと見直してあげなくちゃいけない。けどまぁ…今回はソースがやたら複雑で解析がキッツイ上にコレにかかりっきりになれる時間が今は無い…ということで、ある人の「…

インデックスがあるのにフルスキャン? - おわり

インデックスがあるのにフルスキャン? - 3 - kagamihogeのblog出社後とりあえず色々試してみようと考え・・・ただその前に。DB の初期化スクリプトをいちおう見ておくかぁ、と軽い気持ちでファイル開いたら一瞬で終結を見た。 CREATE TABLE HOGE_TABLE ( HOGE_…

インデックスがあるのにフルスキャン? - 3

DB

インデックスがあるのにフルスキャン? - 2 - kagamihogeのblogとおりすがりさん、id:odz さん、DB 素人にわざわざコメント有難う御座います。 odz 『通常、複合インデックスを張るとキーを指定した順番に優先順位をつけて並び替えることになります。 「イン…

SQL Server 2005 で共有ロックをしなくする

DB

あまり正確なタイトルじゃないんだけど・・・SQL Server 2005 の新機能にこんなものがあるとのこと。 Microsoft SQL Server 2005 には、「READ_COMMITTED_SNAPSHOT」と「スナップショット分離レベル」という、排他ロックにブロックされない読み取りを実現する機…

インデックスがあるのにフルスキャン? - 2

DB

インデックスがあるのにフルスキャン? - kagamihogeのblog にて とおりすがり 『インデックスの張る順番じゃないですか?HOGE_ID_2が先にきてるとか。』 とのコメントを頂いたのだけど「インデックスの張る順番」ってのがわからなかったり・・・。んでまぁ、HO…

インデックスがあるのにフルスキャン?

「なんか遅いから早くして(意訳)」という仕事が回ってきた。大量データ投入後の試験待たずとも、遅いのは前々から分かってたから覚悟は出来てたんだけど・・・人外魔境と化したコードにどう手を入れたもんですかねぇ。さて。何はともあれ計測一番。SQL Server…

データ移行時のオートナンバーに苦しんだ

DB

先日、社内で使われてる DB を別マシンの DB にデータ移行してくれ、と頼まれた。DB 同じだしバージョンも同じだしテーブル数も少ないんで鼻歌交じりで終わるだろ、と思ってたら意外に難儀な作業だった。とりあえず DB 付属のツールでばーっとコピーすりゃ終…

魔法少女?

DB

Oracle少女 リリカルなのは『一時表領域が縮小不可能なの?』 すかさずわたしは呪文を唱える。「ALTER DATABASE...」 元が魔法少女なのに、ぜんぜん魔法少女してないのが印象に残った。

SQL Server と Oracle - nullと空文字 から色々考える

DB

複数ベンダーのDBサポート これって手間がかかる割にイマイチ実りが少ないような・・・と思うのは自分がまだDB経験浅いからなのかなぁ。最初から複数DBサポート考えてアプリケーション作ってるとか、サポートするDBに強い人材が既に揃ってるとかなら大丈夫なん…

SQL Server と Oracle - nullと空文字

DB

一度私的にまとめておこう、という判断から両DBのnullと空文字の扱い方について実験・整理する。結論は下記のようになる。 SQL Serverはnullと空文字は別物扱い。 Oracleはnullと空文字はnull扱い。 検証環境 SQL Server 2005とOracle 10g環境で動作確認を行…

SQL Server と Oracle の違い - ORDER BY

DB

SQL ServerとOracleではキャッシュのおかげで若干異なる動作をする。例えば、あるテーブルのある主キー列に「a,b,g,h,i」って感じでデータが入っているとする。このとき、テーブルに「c」を追加して、ORDER BY句を付けずにSELECT文を発効するとどうなるか。S…