MySQLで大量のダミーデータをテスト用に必要だったため、WEBをググって情報を集めてみました。 SQLだけで実現しているので使いやすいかと思います。 ##データ型別のランダムデータ作成方法 INT(1〜100の範囲)
EXPLAINステートメントとは EXPLAINは、SQLの実行計画に関する情報を取得するためのステートメントです。実行計画とは「どのインデックスを使って(あるいはインデックスを使わずにテーブルスキャンで)クエリーを処理するか」をMySQLが判断した結果のことです。「インデックスはちゃんと使われているだろうか」「インデックスでどこまでクエリーを効率的に処理できているだろうか」という疑問が湧いた時には、「とりあえずEXPLAINで」となりますよね。 EXPLAINのマニュアルはこちらに、EXPLAIN の出力結果のカラムの意味についてはこちらに記載があります。 EXPLAINの何を見るか たとえば、次のような重いクエリーがあったとしましょう。 mysql> SELECT COUNT(some_column) FROM some_table WHERE some_column = xxx; +
MySQL ユーザのホストをワイルドカードで指定してもlocalhostは含まれない 2012-02-04 MySQLをインストールしたので、とりあえずワイルドカードでホスト名を指定してテスト用のユーザを作成。 mysql> show databases; +-------+ | Database | +-------+ | information_schema | | hoge | | mysql | | performance_schema | | test | +-------+ 5 rows in set (0.00 sec) mysql> grant select on hoge.* to testuser@'%' identified by 'password'; Query OK, 0 rows affected (0.07 sec) mysql> select host,u
しょっちゅう忘れるのでメモ。 mysqlに切り替え USE mysql 登録されているユーザを確認 SELECT user, host FROM user; 権限を表示 SHOW GRANTS for 'hoge'@'%'; ユーザを作成 CREATE USER user_name; CREATE USER user_name IDENTIFIED BY [PASSWORD] 'password'; ※ユーザ指定の書式例 user_name@host_name ※ワイルドカードをホストに使うときはシングルクォートでくくる user_name@'%' 'username'@'192.168.128.%' 権限付与 GRANT ALL PRIVILEGES ON `DB名`.テーブル TO 'ユーザ名'@'ホスト名'; GRANT SELECT,UPDATE,INSERT,DELETE ON
はじめに おはこんばんちわ、かぎです。 とあるシステムでnodejs+mysqlを利用しているのですが、mysqlにアクセスする度にコネクションの確立・切断を行っていたため、若干処理に時間が掛かってしまうことがありました。 コネクションプールを利用することで解決出来たので、共有したいと思います。 ↓コネクションプールとは コネクションプール (connection pool)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 用語「コネクションプール (connection pool)」の説明です。正確ではないけど何となく分かる、IT用語の意味を「ざっくりと」理解するためのIT用語辞典です。専門外の方でも理解しやすいように、初心者が分かりやすい表現を使うように心がけています。 実装 設定 npm install promise-mysql const mysql =
はじめに どうも、また私です。 今度はpromise-mysqlを扱ってみようと思います。 例の如く手探りです。 ここへ至る経緯はこっちから Node.jsでMySQLを扱いたかったので独自目線で纏めた 簡単な動作確認 設定 const mysql = require('/usr/local/lib/node_modules/promise-mysql'); mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'nodejs' }).then(function(conn) { // do stuff with conn console.log('promise-mysql createConnection.'); console.log(conn); conn.end(); })
書いてあること インデックス…?INDEXって何それ(゚Д゚)?レベルの人が 最低限、MySQLのクエリチューニングなどできるようになるための取っ掛かり/リンク集です。 初心者が取っ掛かりにする程度(あるいはそれ以下)にしか書いてないので、 深掘りしたい場合は、各リンクを読むことを推奨します。 INDEXって? 超ざっくりいうと 作るとデータ参照が速くなるやつ 大量のレコードが入っているテーブルから1行のレコードを検索するのに 頭から順番に検索したら時間がかかります。 INDEXを作成すると、データテーブルとは別に検索用に最適化された状態でデータが保存されます。 このINDEXを使うことで、目的のレコードを迅速に見つけて取り出すことが可能になります。 ※デメリットもあるので注意! ---- 2018.03.16 追記(コメントにて指摘いただいた内容を転写) ---- MySQL 5.6 で
SNSやソーシャルゲーム、アドネットワークなどのシステムではいろいろなログ情報をDBに保存することもあると思います。 そのさい、日々増えつづけるデータやパフォーマンスをどの様にさばいていくかが重要になってきます。 今回はログ系のデータをMysqlでどのように運用していくか、をテーマにいくつかのノウハウをまとめました。 ログ系テーブルの特徴 ログ系のデータとは、つまり何かのアクションの履歴データのことです。 一般的にはこのような形になるかと思います。 CREATE TABLE `t_logs` ( `id` bigint(20) unsigned NOT NULL, `user_id` int(10) unsigned NOT NULL DEFAULT '0', `event_id` int(10) unsigned NOT NULL DEFAULT '0', `created` datet
こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く