スロークエリーログは、実行に long_query_time 秒を超える時間がかかり、少なくとも min_examined_row_limit 行を検査する必要がある SQL ステートメントで構成されます。 スロークエリーログは、実行に長い時間がかかっているため最適化の候補となるクエリーを見つけるために使用できます。 ただし、長いスロークエリーログの調査には時間がかかる場合があります。 これを簡単にするために、mysqldumpslow コマンドを使用してスロークエリーログファイルを処理し、その内容を要約できます。 セクション4.6.9「mysqldumpslow — スロークエリーログファイルの要約」を参照してください。 初期ロックを取得する時間は実行時間として計算されません。mysqld がスロークエリーログにステートメントを書き込むのは、ステートメントが実行されて、すべてのロックが解
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `created` datetime NOT NULL, `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `deleted` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ## 適当にインサートするためのストアドプロシージャ DELIMITER // CR
漢(オトコ)のコンピュータ道: なぜMySQLのサブクエリは遅いのか。 この記事は 2009/3/25 に書かれたもののようである。 2009年3月といえばMySQL 5.1がGAになってわずか半年、MySQL 6.0.10-alphaがリリースされた頃で、MariaDBもまだ姿を見せていない頃だ。 時は流れて2015年、MySQL 5.6がGAになって早2年半、5.7のGAマダァ-? (・∀・ )っ/凵⌒☆チンチン な頃なので、もういい加減誰か言ってくれてもいいんじゃないかと思う。 もうMySQL(5.6)は不要にINをEXISTSに書き換えたりしないんだよって mysql51> EXPLAIN SELECT * FROM Country WHERE Continent = 'Asia' AND Code IN -> (SELECT CountryCode FROM City WHER
こんにちは @kako_351です。 テスト用のテーブルを用意したいときなど、テーブル構造も中のデータもそのままで名前だけ_testとかつけてまるっとコピーする方法。 検索すればすぐ出てきますが、毎回忘れがちなので備忘録です。 また、こういう風に書けば記憶にも残るかなと思って。 2つのSQLを実行するだけ ①構造が同じテーブルを作成 LIKE演算子を使えば簡単にできます。
MySQL には管理者だけでなく色々な権限を設定したユーザーを作成することができます。ここでは phpMyAdmin を使って MySQL に新しいユーザーを作成する方法について解説します。 新しいユーザーを作成する 新しいユーザーを作成します。 phpMyAdmin に管理者ユーザーでログインして下さい。 画面上部に表示されている「ユーザーアカウント」をクリックして下さい。 ユーザーの管理画面が表示されます。作成済みのユーザーの一覧が表示されます。 MySQL のユーザーはユーザー名とホスト名の組み合わせで作成します。ユーザー名が登録されたものであっても接続元のホスト名が登録されているホストと異なっていたら MySQL へ接続することはできません。 では新規にユーザーを作成します。画面中央にある「ユーザーアカウントを追加する」と書かれたリンクをクリックして下さい。 ユーザーの新規作画面が
おすぎやんです。 XAMPP を Windows Server 2016 にインストールします。 XAMPP(ザンプ)とは、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージとしてまとめたものです。 Apache、MySQL、PHP、Perlの4つの主要ソフトウェアとがパッケージとして含まれています。 XAMPPの名前の由来は、各アプリケーションの名前の頭文字をとっています。 X - Windows、Linux、macOS、Solarisのクロスプラットフォーム A - ApacheのA M - MySQLのM P - PHPのP P - PerlのP 本来であれば、複数のソフトウェアは個別にインストールする必要があり非常に手間がかかりますが、XAMPPは一括してインストールすることが可能で、すぐに開発や運用が開始できます。 Windows Server 2016 のインス
MySQLのデータ型としてFLOAT型という型があるのですが、これを採用するのは混乱の元ではないか?と感じたので、その詳細を紹介します。 そもそもこの話のきっかけは「MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由」という記事が目に止まったことです。それなりに人気を集めている記事のようですが、私の読んだ限りではFLOAT型を使うだけの根拠が文中から読み取れず、さらに類似する一次情報や英語記事が全く見つからなかったので、真偽が怪しい情報だと感じました。 その後、MySQL上で実験したりCソースコードを読んでみたりした結果、私の得た結論は真逆のものになりました。MySQL警察の方や浮動小数点数警察の方、追試や反論など頂けると助かります。 MySQLのFLOAT型とは MySQLのFLOAT型は原則としてIEEE754浮動小数点数単精度型(32bit)で実現されます*1。
すんごい地味な技。 Mysqlで枠を表示させない方法。 意味わからんと思うのでこういうこと↓ mysql> select Host from user; +----------------+ | Host | +----------------+ | 127.0.0.1 | | localhost | +----------------+ 2 rows in set (0.00 sec)これを mysql> select Host from user; Host 127.0.0.1 localhostこんな感じにすることが可能。 やり方は簡単「-s」を付けるだけ # mysql -s -umysql mysql最近知ったww ていうか、これって使いどころがすごい限定される 複数列になるとこんな風になるので、逆にわかりにくかったりする。 mysql> select Host,User fro
mysql -u root --password=pw db_name -e "select id , created_at from user" +----+---------------------+ | id | created_at | +----+---------------------+ | 1 | 2016-02-14 17:39:06 | | 2 | 2016-02-14 17:39:28 | | 3 | 2016-02-14 17:39:33 | | 4 | 2016-02-14 17:39:38 | | 5 | 2016-02-18 00:07:45 | | 6 | 2016-04-27 23:09:30 | | 8 | 2016-05-17 22:45:14 | | 9 | 2016-05-28 18:33:53 | | 10 | 2016-09-03 20:59:
問題 MySQLのmax_allowed_packetという設定項目は、なぜあるのでしょうか? 答え マニュアルによると、ちょっとした予防策とのこと。 メモリは必要な場合にのみ割り当てられるため、この変数を増やしても安全です。この変数は、クライアントとサーバ間の不正なパケットを捕捉したり、メモリ不足になってしまうような大きなパケットを誤って使用したりしないための予防策です。 http://dev.mysql.com/doc/refman/4.1/ja/packet-too-large.html It is safe to increase the value of this variable because the extra memory is allocated only when needed. For example, mysqld allocates more memory on
と記述すると、他のSQL文同様に実行されます。 この記述は!の後に「32302」のようにバージョンを記載すると、 指定したバージョン未満のMySQLでは無視されます。 32302の場合は、MySQL 3.23.02以降でなければ無視されるわけです。 また、MySQL以外のDBでこの構文を使うとコメントとして解釈されるため、 MySQL特有の構文を除外するために使用できます。 例:/**!40101 SET NAMES utf8 */; mysqldumpで生成されたダンプファイルがよいサンプルとなるかと思います。 (実際私はそこで気になって調べました。) mysqldumpのダンプファイルを見るたびに、 気になっていましたが調べてみたらすっきりしました。 参考URL: http://dev.mysql.com/doc/refman/5.1/ja/comments.html
MySQLのデータが文字化けします。通常は、my.confを修正して解決します。 PHPでMySQLから取り出したデータが文字化けする時の解決方法 - このブログは証明できない。 ところが、共用サーバーの場合、my.confを触れません。そこで、SET NAMESを使います。PHPだと、こんなカンジ。 mysql_query('SET NAMES utf8'); ところが、ところが、SET NAMESは使ってはいけないらしいです。SQLインジェクションの脆弱性があるのだとか。 no title その対応策です。PHPだと、こんなカンジ。 mysql_set_charset('utf8'); 注意: 文字セットを変更するにはこの方法を使うことを推奨します。 mysql_query() で SET NAMES .. を実行する方法はお勧めできません。 PHP: mysql_set_charse
「phpMyAdmin」を導入後、トップページを開いたら「mysqli|mysql 拡張がありません。PHP の設定をチェックしてみてください。 See our documentation for more information」というエラー画面が開いて、ログインページヘと移動できないことがある。これは、phpMyAdminの動作に必要なPHPの環境が揃っていないために起きるエラーだ。「php-mysqli」のインストールを忘れているか、失敗している可能性が高いので、再度インストールを行おう。「php-mysqli」の導入はyumコマンドを利用すればOK。インストール後はApache(httpd)を再起動して設定を反映させよう。 「php-mysqli」がインストールされていないのが原因 「phpMyAdmin」を開こうとしたら、「mysqli|mysql 拡張がありません。PHP の設
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く