タグ

sqlに関するproto_jpのブックマーク (13)

  • 個人でWEB開発を15年くらいやってる者ですが

    この記事を見てびっくりした。 https://laiso.hatenablog.com/entry/nope-sql個人開発のコストはDB次第」 まずビックリしたのは「DBってそんなにお金かかる?」という点。 もちろんDBがストレージ、CPU、メモリをうのは分かる。 でもVPSならそんなにコストかからんだろう? 俺は1日100万PVほどのエロサイトを運営しているが、WEBサーバ1台、DBサーバ1台、画像サーバ2台で動いているぞ? VPS4台で月額6000円くらい。 次にビックリしたのは、個人開発なのに難しそうなDBサーバを使っている事。 「Cloud Firestore」「Amazon DynamoDB」「MongoDB Atlas」 ↑俺、全部知らない。。。 もちろん、こうしたDBサーバの必要性は分かるのよ。 稼働率、安定性、拡張性などなど。 でもそれって、大規模サイト向けじゃない

    個人でWEB開発を15年くらいやってる者ですが
  • 「新入社員のための大規模ゲーム開発入門 サーバサイド編」のスライドを公開しました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    「新入社員のための大規模ゲーム開発入門 サーバサイド編」のスライドを公開しました matsuiです。 先週末の2014年6月13日~14日に、札幌でオープンソースカンファレンス 2014 Hokkaidoが行われました。 弊社インフィニットループもスポンサーとして、セミナーの発表を1コマと、ブースを出させていただきました。 その際に使用したスライド資料を公開しましたので、どうぞご覧下さい。 おかげさまで満席でした。来て頂いた方ありがとうございます。 講師の佐々木、なぜか白衣です(理科の先生に憧れてるらしい)。 ブースはこのような感じです。 新作ゲームである「勇者と1000の魔王」と、Android用のタイムカードアプリである「かざしてシュキーン」を展示しました。 ツイート

    「新入社員のための大規模ゲーム開発入門 サーバサイド編」のスライドを公開しました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • 逆引きSQL構文集 - レコード数を取得する

    レコード数を取得するにはCOUNT関数を使用します. COUNT レコード数の取得 COUNT関数はSELECT文により選択されたレコードの件数を返します. COUNT関数の引数に*(アスタリスク)を指定した場合はすべてのレコード数を取得することができます. SELECT COUNT(*) FROM テーブル名 NULLを含まないレコード数の取得 COUNT関数の引数に列名を指定した場合は,その列の値がNULL以外のレコード数を取得します. SELECT COUNT(列名) FROM テーブル名 重複を含まないレコード数の取得 COUNT関数の引数でDISTINCT句を使用すると,重複した値を1つにまとめてからレコード数を取得することができます. SELECT COUNT(DISTINCT 列名) FROM テーブル名 グループ化してレコード数を取得 GROUP BY句を使用することで,同

  • MySQLのINSERT文(方法ごとの処理時間比較)

    大量のデータをINSERTする場面があってなんとか高速化できないかと思って、 以下の手法を比較してみた。 1件ずつINSERTする トランザクションを使用する 1クエリでまとめてINSERTする テスト環境は以下の通り。 MySQL 5.1 テーブルはInnoDB、AUTO_INCREMENT付き(innodb_autoinc_lock_mode=1) PHP 5.3.6 1000件、3000件、5000件、10000件と件数を増やしながらそれぞれ5回ずつ試行して平均を取っている。 使用したコードは最後に。 結果 手法 1,000件 3,000件 5,000件 10,000件 1件ずつINSERTする

    MySQLのINSERT文(方法ごとの処理時間比較)
  • 基礎から理解するデータベースのしくみ(5):ITpro

    SQL文を実行する際のパフォーマンスに大きな影響を及ぼすものとして,もう一つ,インデックスがあります。インデックスについては,どう定義すべきかというデータベース設計上の問題と,インデックスを有効に使うためのSQL文をどう書くべきかというコーディング上の問題があります。 ここではテーブル設計上の問題を主に取り上げます。SQL文のコーディングについては囲み記事「SQL文を最速にする11のポイント」を参照してください。 インデックスは,テーブルの検索速度を向上させるためのものです。それぞれのSQL文に対して最適なインデックスを定義するのが理想的ですが,実際にはある程度限られたインデックスで,必要なパフォーマンス要件を満たすようにインデックスを定義する必要があります。加えて,どんなSQL文が実際に発行されるのかがあらかじめわかっていない場合は,適当な想定に基づいてインデックスを定義しておかなくては

    基礎から理解するデータベースのしくみ(5):ITpro
  • データベースの質問 写真共有サイトとかソーシャルブックマークとかブログサービスとかでは、1つの写真(ブックマーク、記事)ごとにタグを付けられるようにな…

    データベースの質問 写真共有サイトとかソーシャルブックマークとかブログサービスとかでは、1つの写真(ブックマーク、記事)ごとにタグを付けられるようになっていますよね。 「人気のタグ」や「注目のタグ」みたいな感じで検索もできるようになっていますよね。 このタグというのは、データベースではどのような形でデータを持っているのでしょうか? 例えば写真共有サイトを作るとして、1つの写真ごとに以下の内容を登録してもらうことにします。 ・写真タイトル ・ファイル名 ・撮影者(利用ユーザー) ・タグ(複数タグの登録可) この場合、どのようにテーブルを作ればいいのでしょう? (1つの写真や記事に対して複数のタグが入れることができて、それらのタグをキーにして検索やタグの集計をどうやっているのかを知りたいです。)

  • MySQL/PostgreSQLなどデータベースの学習ならDBOnline

    MySQL は世界中で広く利用されているデータベースの一つで現在 Oracle 社が開発をおこなっています。ここでは MySQL をこれから使われる方を対象とした MySQL 入門を掲載します。 MySQL をローカル環境にインストールする方法や、 MySQL を使ってデータベース、テーブル、ユーザー、トリガなどの作成する方法に関して簡単なサンプルを使って実際に試しながら一つ一つ解説していきます。

    MySQL/PostgreSQLなどデータベースの学習ならDBOnline
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 8 最適化

    この章では、MySQL のパフォーマンスを最適化する方法について説明し、例を示します。 最適化には、いくつかのレベルでの構成、チューニング、およびパフォーマンスの測定が含まれます。 業務の役割 (開発者、データベース管理者、または両方の組み合わせ) に応じて、個々の SQL ステートメント、アプリケーション全体、単一のデータベースサーバー、または複数のネットワーク接続されたデータベースサーバーのレベルで最適化できます。 プロアクティブにパフォーマンスを事前に計画する場合や、または問題の発生後に、構成やコードの問題のトラブルシューティングを行う場合があります。 CPU やメモリーの使用を最適化することで、スケーラビリティーを向上し、データベースを低下させず、より多くの負荷を処理させることもできます。

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • SQLの基礎 「SELECT」文を覚えよう

    記事のおもな内容 いろいろあるSQLの規格 サンプルデータベースを操作してみる SELECT文の基的な使い方 WHERE句の使い方 条件の指定方法 リレーショナルデータベースシステム(RDBMS)も、今や、システムの構築には不可欠なものとなりました。皆さんが目にしているシステムや、管理しているシステムでも、RDBMSが使われていないシステムを探すほうが大変ではないでしょうか。RDBMSの普及にともない、RDBMSへのアクセス手段であるSQLも、日常的によく見かけるものとなりました。 このSQL実践講座では、SQLの効率的な使い方をエッセンスにしてお伝えしていこうと考えています。SQLは、データを操作するために非常に簡単な構文で構成されているように見えます。ところが、実際に使い込んでいくと、一見簡単に取得できるように見えるデータが取得できない場面にぶち当たることがあると思います。また逆に

    SQLの基礎 「SELECT」文を覚えよう
  • 連載記事 「今から始める MySQL入門」

    MySQL+Apache+PHPをインストールしよう 連載:今から始める MySQL入門(1) MySQLを使ってWebアプリケーション開発を始めてみませんか? 今回は、開発環境の準備と動作確認までを解説します

  • XMLHttpRequest で PHP に POST してデータベースを更新して結果をJavaScriptに返す - Vosegus Sakura

    作成日 : 2009年09月13日 更新日 : 2010年05月30日 Vosegus Labs 基設計 SQLスキーマの設計 XMLの設計 HTML JavaScript PHP設計 デフォルトでは現在の情報をGETし表示 更新はform elementにデータを入力 入力されたデータを元にしてXMLHttpRequestでPHPにPOSTする PHPがパラメータからSQLを作成して送信 クエリが通ったら、更新されたデータベースの情報を取得 更新されたデータベースの情報をXML形式でJavaScriptへ渡す JavaScriptは受け取ったデータをHTMLで表示 SQLスキーマの設計 CREATE TABLE rex( rex_id SMALLINT UNSIGNED AUTO_INCREMENT, rex_year YEAR, rex_month VARCHAR(2), re

  • 1