タグ

mysqlに関するtezukamのブックマーク (13)

  • MySQLからフォークした「Drizzle」、初のGAリリース | OSDN Magazine

    MySQLからフォークした軽量SQLデータベース「Drizzle」の開発者は3月15日、初の一般提供(GA)版となる「Drizzle7 2011.3.13」をリリースした。プロジェクトのWebサイトよりソースコードを入手できる。 DrizzleはMySQL 6.0のフォークとして、MySQL開発者らが2008年7月にスタートしたプロジェクト。クラウドやWebアプリケーション向けに簡素化したDBMSを作成することを目的とし、マイクロカーネルコンセプト、モジュラーアーキテクチャを特徴とする。オープンなコミュニティ主導型というプロジェクトの特性も特徴となる。 デフォルトのトランザクションストレージエンジンはInnoDBで、PBXTをマージし、MyISAM(一時テーブルのみ)もサポートした。Embedded InnoDB、HailDB向けプラグインも備える。レプリケーションはログベースで、ファイル

    MySQLからフォークした「Drizzle」、初のGAリリース | OSDN Magazine
  • Drizzle - A database for the cloud

    Want your own domain name? Learn more about the domain name extensions we manage Find a domain name similar to drizzle.org

  • MySQLの"UTF-8"にご用心 - yanok.net

    拙著『プログラマのための文字コード技術入門』にも一言だけ書いたのですが、オープンソースのデータベース管理システムとして有名なMySQLのバージョン5.0とか5.1とかは、UTF-8として3バイトまでしか対応していません。 これは今どき考えられないくらい古い仕様です。3バイトのUTF-8というのは、Unicodeの基多言語面(BMP) という、16ビット固定で世界中の文字を符号化するんだと(誤って)言い張っていた、古き良き時代のUnicodeの範囲しか扱えません。 MySQLの5.5.3というバージョンではようやく4バイトのUTF-8への対応が図られたようです。5.5.3の変更点を記したページに記されています。 これを使えば、魚の名前の𩸽(ほっけ、U+29E3D)だとか、偏旁の𧾷(足偏、U+27FB7)だとか、あるいは日の地名として𣖔木作(ほうのきざく、福島県)の「𣖔」(U+23

  • いつの間にかvalidates_uniqueness_ofの仕様が変わっている件 - おもしろwebサービス開発日記

    別ブログに書いてたものをまとめてみました。 case_sensitiveで大文字と小文字を区別・・・できない - おもしろWEBサービス開発日記のrailsメモ - railsグループ 昔の仕様 これまで、mysqlを使用しているとき、値の唯一性をチェックするvalidates_uniqueness_ofメソッドの:case_sensitiveはtrueにしても大文字小文字の区別はつきませんでした。理由はmysqlがデフォルトでは大文字小文字を区別していないからで、回避方法としては該当テーブルのmigrationファイルに execute("ALTER TABLE users MODIFY login varchar(255) BINARY NOT NULL") のように書いてカラムにBINARY性質をつけるか、SELECT文中にBINARYをつけてやる必要があります。 最近の仕様 これま

    いつの間にかvalidates_uniqueness_ofの仕様が変わっている件 - おもしろwebサービス開発日記
  • 限界までMySQLを使い尽くす!!

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

    限界までMySQLを使い尽くす!!
  • SYSDATE()とNOW()の違い。

    MySQLには、現在時刻を求める関数としてSYSDATE()とNOW()という2つの関数が実装されている。そして、それらは微妙に動作が違う。SYSDATE()は関数が呼び出された瞬間の時刻を返すのに対して、NOW()はクエリ開始時の時刻を返す。例えば、100秒かかるような長いクエリにおいて両者を利用した場合、SYSDATE()では結果に最大100秒の差が生じるのに対して、NOW()では差が生じない。NOW()では関数が最初に実行された時に結果がキャッシュされ、以降はキャッシュされた値が利用されるからだ。 次のようにSLEEP()を利用するとわかり易いだろう。 mysql> SELECT SYSDATE(), SLEEP(100), SYSDATE(); +---------------------+------------+---------------------+ | SYSDATE(

    SYSDATE()とNOW()の違い。
  • Ruby on Rails + MySQL で全文検索 - ドワンゴ 研究開発ブログ

    このエントリでは Ruby on RailsMySQL を使って日語の全文検索を行う方法を記述する。Ruby on Rails のバージョンは 2.0.2、MySQL のバージョンは 5.0.67、Tritonn のバージョンは 1.0.12、Hyper Estraier のバージョンは 1.4.10 を使用した。サンプルの文章データとして、あらゆる日人にとって極めて身近な著作権切れ文章である『ドグラ・マグラ』と『黒死館殺人事件』を利用した。処理のために整形したデータはエントリに添付しておく。またデータベースへアクセスするコードではマイグレーションを除きできるだけベンチマークを取るようにし、その結果はエントリの最後に記載する。 ページネーション Rails でページネーションを実現する will_paginate という plugin は ActiveRecord に標準でつ

  • プロファイリングで快適MySQLチューニング生活

    MySQL 5.1からデフォルトで有効になっている便利な機能としてプロファイリングというものがある。MySQL 5.0でも利用出来たのだが、実験的な機能という位置づけであり、搭載されていたのはGPL版のMySQL Community Server限定だった。MySQL 5.1からは全てのエディションでプロファイリングを利用することができる。 プロファイリング機能を利用すると、クエリの状態(特に状態遷移やリソースの消費状況)を詳細に分析できるのでとても便利だ。MySQLエンジニア必携の機能といって良いだろう。というわけでプロファイリング機能の使い方を説明しよう。 MySQLサーバにログインしたら、まずは次のようにしてプロファイリングを有効にする。 mysql> SET profiling=1; すると、クエリの情報が記録されるようになる。次に、分析したいクエリを実行する。クエリはなんでもいい

    プロファイリングで快適MySQLチューニング生活
  • Connector/J 5.1とServer Side Prepared Statement - mir the developer

    ここ数日「MySQL + Connector/J(JDBCドライバ) + プリペアードステートメント」の話題がちらほら出ています。正確に把握はしていないですがSQLインジェクション対策→PreparedStatementという流れできた話のようです。 徳丸浩の日記 - JavaMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性 へぼへぼCTO日記 - useServerPrepStmtsを使うのが根解決だとはおもう。けど…? id:kazuhookuのメモ置き場 - MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 自分は元Connector/J開発メンバ(※インターン生として)でもありとても気になる話題なので、Connector/Jのソース解析も含めた説明をここで行いたいと思う。 プリペアードステートメント

    Connector/J 5.1とServer Side Prepared Statement - mir the developer
  • MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 - kazuhoのメモ置き場

    useServerPrepStmtsのここの説明ではデフォルトがtrueになっているが、これは上述の通り嘘である。 (中略) そしてなぜfalseにされたかということの背景を察すると、trueにすることの弊害もありそうで、手放しでこれをtrueにすることを勧めることが少しはばかられる。 http://www.geminium.com/chiba_blog/2008/12/23/33/ 自分は Java 使ってないですが、MySQL の中の人が使うなって言ってます *1。その理由はメモリリークのような症状が出る可能性があるから。 So why are prepared statements a problem? Because users do not clean up/close unused prepared statements. Multiply the number of prep

    MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 - kazuhoのメモ置き場
  • JavaとMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2008年12月22日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 今年のBlack Hat Japanには、はせがわようすけ氏が「趣味と実益の文字コード攻撃」と題して講演され話題となった。その講演資料が公開されているので、私は講演は聞き逃したが、資料は興味深く拝見した。その講演資料のP20以降には、「多対一の変換」と題して、UnicodeのU+00A5(通貨記号としての¥)が、他の文字コードに変換される際にバックスラッシュ「\」(日語環境では通貨記号)の0x5Cに変換されることから、パストラバーサルが発生する例が紹介されている。 しかし、バックスラッシュと言えばSQL

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

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

  • mysql - 出力を縦表示にするには

    [mysql] カラム数がおおいレコードをターミナルで表示すると変なところで改行されてしまい、みにくくなることがあります。こういった場合、SQL文の最後に\Gを付けることで出力を縦表示にすることができます。 [使用例] select * from user \G ※mysqlに接続する際に-Eオプションを渡してもよい « mysql - ユーザのパスワードを設定するには | | mysql - データベースの作成 »

  • 1