タグ別アーカイブ: MySQL

オープンソースカンファレンスに行ってきたよ

タグ: , | 投稿日: 投稿者:

ニタです。

先日というか、だいぶ前になりましたが、オープンソースカンファレンス2014 Tokyo/Springの2日目に行ってきました。

途中、1日目も来ていたhosoくんと会い、いくつか同じセッションを聞いたりしました。
1日目の感想などは彼が書いてくれると思う(多分きっと)ので、2日目聞いたセッションについて。

業務アプリケーションにおけるモダンWeb開発の現状
本当は登壇者は3人いて、ああだこうだ喋る予定だったらしいのですが、1日目の夜に呑んだ結果、お一人でのセッションでした。

カンファレンスあるある。

で、今はnode.jsなフレームワークでの開発がモダンなWeb開発なので、yeomanを使うと便利だYO!ということでした。
WebSocketとかも勉強しておかないといけないようだし、モダンなフロント系開発もやること沢山あって面白そうですね。

つづいて、MySQLパラメーターチューニングの理屈と定石

my.cnf系の話がメインでしたが、テーブル設計での1レコードのデータサイズの見積もりしてメモリに載る容量計算して…。
MySQL、データベースも極めると際限がないなと感じつつも、細かなチューニングについて説明されており、勉強になりました。
パラメータを変えるだけでなく、クエリを見直すのも改善の一つだとも説明していました。
効率的なクエリを書けて、それに見合ったテーブル設計が求められるのだなと痛感しました。

DB系が続きますが、分散KVSとクラウドストレージ Riak & Riak CS
初心者向けMongoDBのキホン!

Riakは本家Bashoジャパンの社員の方が登壇され、Riakの基本的な機能説明でしたが、2.0および新製品のRiakCSに追加される、全文検索(コードネーム:yokozuna)は使えそうなのかと。

MongoDBも機能説明程度でしたが、NoSQLなDBではMongoが使いやすそうな印象でした。
とはいえ、トランザクション、スキーマ、JOINがないとか使いドコロ難しそうな印象も受けました。

セッション以外にも、様々なオープンソースなプロジェクトの展示もありました。
なかでもbaserCMSの管理画面は、開発側の手離れがしやすく、日本人が操作しやすいつくりになっていて、管理画面づくりの参考になりそうでした。
管理画面のトップページに、よく使う機能(新規投稿やコメント一覧表示など)のリンクが設けてあったり、確認画面をページ遷移せず、モーダルで表示させるなど、妙なところの痒いところに手が届くようなアイディアは関心しました。


[MySQL]複数レコードを集約!!

タグ: | 投稿日: 投稿者:

あけましておめでとうございます。
takeです。

Web制作をしてる際、DBの複数レコードを1行に集約した結果を表示したい!!
って時がまれにあります。

View側でループし、複数レコードを1行に表示するように小細工してもいいのですが、
MySQLには「GROUP_CONCAT」という集約関数があります。

詳しくはここ

では、早速試してみましょう。

1.社員と部署の関係を持つテーブルを作成します。
20140108_01
作成した結果はこれ。
20140108_02
20140108_03
20140108_04

2.各テーブルにデータを設定します。
20140108_05

3.抽出した結果。
20140108_06

見てのとおり、john以外の人は複数の部署に所属しているので、複数レコード抽出されています。
この複数行の結果を、1行に集約する為に「GROUP_CONCAT」関数を使用します。

20140108_07

例にも示したとおり、「GROUP_CONCAT」内でorder by が使えます。
この他にも、group by 等も使えますので、かなり使い勝手はよいと思います。