MySQL」カテゴリーアーカイブ

MySQL の謎なアップデータを止める方法

正月あたりから、真夜中に謎の黒い画像が出てきて、なんかやって止まるという現象が起きていました。謎な黒い画面ってのは cmd の画面で、なんか流れて1秒経たずに消えてしまうのでなんだか分からなかったんですよね。 それを昨晩、やっとこさ捕まえました。 どのプロセスか分からなかったのですが、 C:Program Files (x86)MySQLMySQL Installer for WindowsMySQLInstallerConsole.exe です。MySQL の何かのアップデートのようで、検索していくと MySQL :: MySQL Installer Guide :: 2.1 MySQL Product Cataloghttp://dev.mysql.com/doc/mysql-installer/en/mysql-installer-catalog.html なところでカタログのスケジ … 続きを読む

カテゴリー: MySQL | コメントする

MySQLでMySqlBulkLoaderのスピードをHDD/SSDで比較する

SSDにするとBlukcopyは5倍ぐらい早くなる – Moonmile Solutions Blog と MySQLでHDD/SSDのアクセススピードを比較する – Moonmile Solutions Blog の続きです。@h141gm さんから、MySqlBulkLoader もあるよ、ということなので再実験。さすがに、insert の連続では SQL Server との比較が無理があるし、insert の連続が SSD の処理に追い付いているかどうかもあやしいので、ちょっと仕切り直します。 # my.ini の値は、xampp の吊るしのまま使っています。ひとまず既製品状態でどのくらいの差がでるのかな?ってことで。チューニングするとどの位なのか?ってのも興味あるところなのですが「チューニングしなくても、SSD を換装すれば「手軽に」早くなる、ってのが理想的 … 続きを読む

カテゴリー: MySQL, パフォーマンス | コメントする

MySQLでHDD/SSDのアクセススピードを比較する

SSDにするとBlukcopyは5倍ぐらい早くなる – Moonmile Solutions Blog の比較として、MySQL では、SSD/HDD はどうなんだろうね?という話です。MySQL の Connector には Bulkcopy っぽいものがないので、ちまちまと insert しています。なので、その分遅くなるので、適当に1000件単位でトランザクション使って commit します。1件ずつ insert するよりは早いのですが、SQL Server よりは SSD 比で 10 倍ぐらい、HDD 比で 2 倍ぐらい遅いです。SSD/HDD で倍数に差がでているのは、SQL Server + SSD がむちゃくちゃ早いからですね。 追記 MySqlBulkLoader というものがあるそうなので、後で試します。 SSD で 65.3秒、HDD で 74.2秒。 S … 続きを読む

カテゴリー: MySQL, パフォーマンス | コメントする

ADO.NET Entity Data Modelの接続先を動的に切り替える

LINQを使う時に、ADO.NET Entity Data Modelを作成する、ってのが今後の主流な訳ですが、Data Model を作るときの接続先をアプリケーションを実行するときに、どうやって切り替えられるのか?という問題があって…いや、知らなかっただけなんですけどね。良く見たら MSDN に書いてあったので。 ConnectionString プロパティ http://msdn.microsoft.com/ja-jp/library/system.data.entityclient.entityconnection.connectionstring.aspx 普通に作成すると、web.config/app.config に書かれるので、さてこれをどうやって実行時に変えたらいいものか?と悩むわけです。某ひと目 Azure でもかなり悩んだ。 ソースコードは MySQL 接 … 続きを読む

カテゴリー: C#, MySQL | コメントする

MySQL で LINQ を使う

このブログの MySQL の記事をまとめていると「あれ?意外に少ない」と気が付いて、ADO.NET 絡みでMySQLを扱うTipsでも追加しようかと探していたところなのですが、なんと、LINQ で MySQL を使えることを発見。と言いますか、「至高の技」の執筆中に確認しなかったのが痛恨の一撃。 MySQL :: MySQL 5.1 Reference Manual :: 20.2.4.5 Tutorial: Using an Entity Framework Entity as a Windows Forms Data Source http://dev.mysql.com/doc/refman/5.6/en/connector-net-tutorials-entity-framework-winform-data-source.html どうも、日本語の情報が少ないなぁと思っていたら、 … 続きを読む

カテゴリー: C#, MySQL | コメントする

DataSetを使ってMySQLを扱う場合の勘所

タイトルに「MySQL」とありますが、旧来のDataSet/DataTableを使う場合のコツ、と思ってください。 # SQL to LINQ や ADO.NET Entity Framework を使う場合は、もうちょっと別なスタイルもありです。 業務アプリケーションでデータベースを扱う場合、利用方法は次のパターンに分けられます。 <001>   データベースは次の2種類 ・更新系のテーブル  → 頻繁に更新するデータ  → 売上データ、月次データなど ・マスター系のテーブル  → ほとんど更新しないデータ  → 部門情報、会社名一覧など これを操作する画面が次の2種類 ・一般の画面  → 主に更新用のテーブルを扱う画面  → 一般ユーザーが使うので、利用しやすい画面にしないと駄目 ・マスタ画面  → 主にマスタ系のテーブルを扱う  → 保守に利用するためなので、チープ画面でよ … 続きを読む

カテゴリー: 開発, MySQL | 2件のコメント

C#からMySQLを扱う(更新編)

C#からMySQLを扱う(更新編) 射撃しながら前進(あるいは迷走)する方への援護射撃。第2弾です。 MySQLでも、SQL Serverでも、Oracleでも、データをグリッドで表示する場合は、DataSetを使うのが断然楽です。 顧客が、グリッドのチープな画面を許容してくださるならば、グリッドでOKでしょう。 こんな風に、DataTable を使って書けます。   ちなみに、DataSet で書く場合は、 何が違うかというと(これも歴史的な話になるのですが)、もともと、DataSetは、複数のテーブルを扱える設計になっています。なので、DataSetは複数のテーブルを扱うのですが、普通は上の例のように、ひとつのテーブル(検索結果)しか扱いません。 なので、 とした場合は、最初のテーブルを使う、という仕様になっているんですね。 これが、ADO.NET のバージョンで DataT … 続きを読む

カテゴリー: 開発, MySQL | 6件のコメント

C#でMySQLをDataSetで扱う

射撃しつつ前進する方への援護射撃です。 群馬に行った時、データセットの件で「う~ん」と思い、なんとなく落とし穴に陥りそうな匂いはしていたのですが、時間が取れずにそのままに。 という訳で遅ればせながら、.NET(C#)でMySQLを扱うときのコツなんかを、詳しめに書いておきます。 ■接続方法はADO.NET Driver for MySQL (Connector/NET)を使う まず、.NETから扱えるように下記をダウンロードしてインストールします。 MySQL :: Download Connector/Net http://www-jp.mysql.com/downloads/connector/net/ ■名前空間は MySql.Data.MySqlClient SQL Server の場合は System.Data.SqlClient を使いますが、MySQL の場合は MySql. … 続きを読む

カテゴリー: 開発, MySQL | 6件のコメント

.NETからMySQL5のストアドプロシージャ呼び出しの落とし穴

別に落とし穴シリーズ化としている訳ではないのですが、諸にハマってしまったので。 # 英語圏の方も結構苦労している模様なので .NET言語(C#やVBなど)からMySQL5のストアドプロシージャを扱うときには、 2種類のクラスライブラリを選択します。 ・MySQL Connector/ODBC 5.1  http://dev.mysql.com/downloads/connector/odbc/5.1.html ・MySQL Connector/NET 6.0以降  http://dev.mysql.com/downloads/connector/net/6.0.html   で、今回は MySQL Connector/NET の方を使っていきます。 上記のクラスライブラリをダウンロードしてインストール。そして、参照設定までいけます。 さて、MySQL側のストアドプロシージャを とします。 … 続きを読む

カテゴリー: 開発, MySQL | コメントする