perlでMysqlと通常のfileをopenするのは以下ケースではどちらが速いのでしょうか。 実効スピードはやってみないとわからないので、論理的にこういう動作があるから速い、という回答をお願いします。 前提: ・社員4万人の社員番号、名前、住所、氏名その他20項目を社員番号をキーに取り出す ・抽出はview.cgi?id=0012 と、CGIの引数idのvalueをそのまま社員番号としてDBにアクセスして取り出す ・取り出したデータ20項目は特に加工せずにHTMLとして出力 操作1 Mysqlでstaffdataテーブルを作成し、20項目をフィールド、社員番号を主キーとしてinsert CGIからのアクセス時にはDBIでselect * from staffdata where id = '$id' として抽出。 操作2 サーバー上に20項目をタブ区切りにし、$id.datとidごとに保
11. I'm yoku0825 ● とある企業のDBA ● オラクれない ● ポスグれない ● マイエスキューエる ● 家に帰ると ● 嫁の夫 ● せがれの父 ● 馬鹿だからかわいいわけじゃなくて、かわいい イルカがたまたまバカだった 12. はじめに ● サンプルデータは MySQLのサンプルデータ ベース(worldデータベース)からインデック スを全て取っ払ったものです ● http://dev.mysql.com/doc/index-other.html ● コードはgithubに上げてあります ● https://github.com/yoku0825/yapc_2014 ● すごく…ウンコードです… 13. はじめに ● 原則、MySQLは1つのテーブルにつき同時に1 つのインデックスしか使いません ● Index mergeとかあるけどアレは例外だし狙って やっても速くなる
仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ
Webアプリケーションが実運用に耐えうるかどうかテストするためには, 大量のテストデータが必要になる。 規模にもよるが,場合によっては1テーブルあたり,数十万〜数百万レコードを要求されるだろう。 システムの負荷テストを実施する際には, (1): 「システムの内部に保有する負荷」つまり「DBの重さ」をまず作り出し, SQL実行性能を現実の運用状態に合わせてチューニングする。 (2): その後で,「システムの外部で発生する負荷」つまり同時アクセスをかける。これがサーバーの重さとなる。 そして各機能ページのパフォーマンスを測定する。 後者は,jmeterなどの便利なツールが存在する。 が,前者の「データ生成」に関しては,方法がそれほど確立していないように思える。 下記は,そういった大量のデータをうまく作るためのメモ。 (1) Excelでデータを作るべし (2) できれば Excelは 2007
Mencari slot gacor hari ini? Anda berada di tempat yang tepat! Dalam dunia perjudian online, istilah "gacor" sering digunakan untuk menggambarkan slot yang sedang "panas" atau memiliki peluang tinggi untuk memberikan kemenangan besar kepada pemain. Dalam artikel panjang ini, kita akan membahas segala sesuatu tentang slot gacor: cara menemukannya, strategi untuk bermain, dan tentu saja, rekomendasi
Data structure Rich data structure: KV, List, Hash, ZSet, Set. Various Backend Various backend databases to choose: LevelDB, goleveldb, LMDB, RocksDB, BoltDB or Memory. Expiration & TTL Supports expiration and ttl in all kinds of data structures. CLI Support Redis clients, like redis-cli, are supported directly. Easy Embedding Easy to embed in Go application. Data Protection Replication to guarant
沖縄開発合宿2日目: Rails用のDBスキーマ管理ツール scheman-rails を開発した。 使い方 db/schema.sql に理想的なスキーマをSQLで記述する rake db:schema:diff で現在のDBのスキーマとの差分を確認する rake db:schema:apply でSQLを適用して差分を埋める 基本的にはこれの繰り返しで、開発者は理想的な db/schema.sql を保つことに集中していれば良いという世界観。 DBスキーマどういう構成だったったっけという場合にもこのファイルを見れば良いのでちょっと楽。 導入時に既にDBが存在するときは、いちいちdb/schema.sqlを書くのはだるいので適当に mysqldump --no-data --compact の結果を貼り付けとけば良いかもしれない。 解決されそうな問題 この辺が解決できそう。 複数ブランチ
リレーショナルデータベース管理システム(RDBMS)は言うまでもないことだけど、データベース管理の基礎中の基礎だ。NoSQLというRDBMSではないデータベース管理システムが出て来ているがそれもSQLがあってこそのNoSQLだ。 リレーショナルモデルはIBM E.F. Codd博士が提唱した。Edgar F. Codd - Wikipedia Codd博士は後にチューリング賞を受賞している。 http://en.wikipedia.org/wiki/File:Edgar_F_Codd.jpg そのデーターモデルを利用したデータベース管理システムのプロトタイプがSystem Rだ。IBM System R - Wikipedia 1974年ごろ発表された。 その成果の一つがSQLだ。誰でも使っているSQLはSystem Rの論文が発祥の地である。そしてその論文を読んでRDBMSを作った男がL
10. XAトランザクションのSQL(MySQLの場合) mysql> XA START 'xatest'; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO account VALUES(1, 'takezoe'); Query OK, 1 row affected (0.04 sec) mysql> XA END 'xatest'; Query OK, 0 rows affected (0.00 sec) mysql> XA PREPARE 'xatest'; Query OK, 0 rows affected (0.00 sec) mysql> XA COMMIT 'xatest'; Query OK, 0 rows affected (0.00 sec)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く