タグ

mysqlに関するDhioのブックマーク (14)

  • フォローしているユーザのツイートを検索する SQL について実験 - nise_nabeの日記

    とりあえず検証してみた内容を書いとく.どうすればいいんだろうなぁ. 問題 フォロー関係とツイートを DB に保存しているものとする.以下のような簡単なテーブル定義とする.(追記 gist を更新してしまったのでインデックス付いているが最初の段階では6 行目はなかった) gist9952931 この状態である人がフォローしている人のツイートを取得したい場合を考える. つまり, user_id が 1 の人が user_id が 2, 3 の人をフォローしているとするとタイムラインとしては user_id が 2 の人がツイートした内容と user_id が 3 の人がツイートした内容が表示されるようにしたい.ここでは簡単のために user_id が 1 の人のツイートをタイムラインに表示しない. このようなクエリを実行する際にツイート数が多い場合実行時間が大きくなるためこれの改善が出来ないか

    フォローしているユーザのツイートを検索する SQL について実験 - nise_nabeの日記
    Dhio
    Dhio 2015/07/12
  • CONCAT_WS:文字列を結合する(区切文字を間に挟む)

    CONCAT_WS( 区切文字列, 文字列1, 文字列2, ・・・文字列N ) CONCAT_WS関数を使用することで複数の文字列を結合することができます。その際、第一引数で区切り文字を指定することができます。 CONCAT_WS関数の引数は2つ以上で任意の数を指定できます。 mysql> SELECT CONCAT_WS( '+', 'PHP', 'MySQL', 'Linux' ); +-------------------------------------------+ | CONCAT_WS( '+', 'PHP', 'MySQL', 'Linux' ) | +-------------------------------------------+ | PHP+MySQL+Linux | +-------------------------------------------+

    Dhio
    Dhio 2014/09/14
  • Ruby on Rails on MySQL チューニング入門

    Rails 3 系+MySQL を利用しているサービス向けに 1. どのようにボトルネックを探すのか 2. どのような設計を行えばいいのか 3. Rails上でどのようなコードを書けばいいのか の3点に絞ってこのプレゼンをみてチューニングを行えるように資料作成を行いました

    Ruby on Rails on MySQL チューニング入門
  • MySQLite: SQLiteデータベースを読み書きするMySQLストレージエンジン

  • TechCrunch | Startup and Technology News

    Services like Midjourney and ChatGPT have pushed the boundaries of how AI can create images and text out of basic text prompts. Now, audio appears to be the inevitable next frontier. Music generation

    TechCrunch | Startup and Technology News
  • PHPで画像をMySQLに保存する。 | Firegoby

    CMSなどで画像をアップロードする機能を実装する際にその画像をDBに保存すると、サーバーを冗長化する際やサムネールを作成する機能を実装する際にいろいろと便利になるので、そのやり方をご紹介します。 DBに保存するメリット サーバーを冗長化する際に、画像をファイルとして保存するとそれぞれのサーバー間でアップロードデータの同期やNASの導入が必要となったりするが、DBに保存してしまえばその必要がなくなる。 サムネール画像を作成するなどの機能で、途中で仕様変更等によりサムネール画像のサイズを変更したい場合などの、画像の出力フォーマットの変更などにも柔軟に対応できる。 DBに保存するデメリット DBに保存してそれを読み出すプログラムを経由する分、処理が多くなり必然的に負荷の増大につながる。 DBのメンテナンス性の低下につながりやすい。 レンタルサーバーなどで制限が出てくる。(たとえばMySQLのMA

    Dhio
    Dhio 2013/10/17
    “NASの導入”
  • ■AWSのRDSで嵌ったのでメモ - ミランコビッチ (プログラマー)のブログ

    ■ローカルのMySQL WorkbenchからAWSのRDSのMySQLに接続が繋がらなくて嵌った。 AWS→RDS→DB Security Groupsで「default」にIPを追加したら繋がった。 何に嵌ったかというと、自分は新しいGroupを作成しソコにIPを追加していた。 勝手に認識してくれるだろうって感じでorz EC2や他にもとかにもSecurity Groupsとかキーワードがあったので何か連携しているのかな?セキュリティ周りはちゃんと勉強しないとダメだなー。 ■Netbeansでソースをエディタで開いて編集しているとエラーメッセージをPOP表示することがある。 どうやらダブルコーテーションで括った最後の文字にカーソルが行くとエラーを出すっぽい。エディタ上のエラーっぽいので無視してもコンパイルは通るしアプリも正常に動く。でも、かなりウザイorz でもってググルと05/16以

    ■AWSのRDSで嵌ったのでメモ - ミランコビッチ (プログラマー)のブログ
  • Amazon RDSを使ってみる

    MySQL Meetup at CNET / magerleagues そろそろ公開するサービスをPostgreSQLで作っていたけど、自分で冗長性、バックアップをきちんと作り込むのは大変。 なんだかAmazonRDSだと非常に簡単にしかも安定的なデータベースを運用できそう。 しかし、今のところ、RDSはMySQLORACLEのみに対応…。 先日JAWS-UGで質問したらPostgreSQLのRDS版は当分でそうに無いとのことだって。(2011.10月時点の情報) RDS使いたいので、MySQLに移行するようプログラムを変更しよう。 その前にちょっとRDSを使ってみようかな。と言った流れでいじってみます。 DBインスタンスの作成(マネジメントコンソール) マネジメントコンソール ↓ AmazonRDSクリック ↓ 左ペインのRegionをAsia Pacific(Tokyo)に変更 ↓

    Amazon RDSを使ってみる
    Dhio
    Dhio 2013/01/23
  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

    MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。日はそれを無停止、オンラインのままでできないかという話題です。 基的なアイデア メンテナンス対象の元テーブルをコピーして、作業用の仮テーブルを作ります 仮テーブルに対して、カラム追加などの変更を加えます その間、元テーブルに対して行われる更新処理について差分を記録しておきます 仮テーブルの変更が終わったら、記録しておいた差分データを仮テーブルに反映します 差分データの反映が終わったら、元テーブルと仮テーブルを入れ替えます これと似たようなことを考えた方は結構いらっしゃるのではないでしょうか。ただ、言うは易し、行うは難しです。整合性がきちんと取れるかどう

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

    Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
  • MySQL InnoDBだけで全文検索 - SH2の日記

    実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy

    MySQL InnoDBだけで全文検索 - SH2の日記
  • データベースが遅くなった原因を自動的にスキャンして分析するフリーソフト「Trace Analyzer for SQL Server」

    Windows XP SP1/VistaとWindows Server 2003/2008の32ビットおよび64ビット版で動作し、SQL Server 2005/2008のデータベースを分析することで速度が遅くなってしまった原因を見つけてくれるのがこのフリーソフト「Trace Analyzer for SQL Server」です。インストールして起動させるには他に「.Net Framework 3.5 SP1」と「Microsoft SQL Server Compact 3.5 SP1」も必要です。 数百あるいは数千もあるファイルイベントをトレースしたり、サーバに過負荷をかけているバッチがどれが特定したりするわずらわしさから解放してくれるはずです。 ダウンロードは以下から。 DBSophic | Trace Analyzer for SQL Server http://www.dbsoph

    データベースが遅くなった原因を自動的にスキャンして分析するフリーソフト「Trace Analyzer for SQL Server」
  • もう1つの、DBのかたち、分散Key-Valueストアとは

    もう1つの、DBのかたち、分散Key-Valueストアとは:分散Key-Valueストアの命「Bigtable」(1)(1/3 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 クラウド時代のデータベース「分散Key-Valueストア」 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。 Bigtableは、Google検索をはじめ、YouTubeやGoogle MapGoogle Earth、Google Analytics、Goog

    もう1つの、DBのかたち、分散Key-Valueストアとは
  • 限界までMySQLを使い尽くす!!

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

    限界までMySQLを使い尽くす!!
  • 1