タグ付けされた質問 「mysql」

MySQLのすべてのバージョン(Microsoft SQL Serverではありません)。質問に関連する場合は、mysql-5.7のようなバージョン固有のタグも追加してください。

1
MySQL:内部クエリで「ORDER BY」を使用してUNIONを最適化する
同じレイアウトの複数のテーブルで構成されるロギングシステムをセットアップしただけです。 データソースごとに1つのテーブルがあります。 ログビューアについて、私はしたいです UNIONすべてのログテーブル、 アカウントでそれらをフィルタリングし、 ソースを識別するための疑似列を追加し、 時間順に並べ替え、 そして、ページ分割のためにそれらを制限します。 すべてのテーブルにzeitpunktは、インデックス付きの日付/時刻列であるというフィールドが含まれています。 私の最初の試みは: (SELECT l.id, l.account_id, l.vnum, l.count, l.preis, l.zeitpunkt AS zeit, 'hp' AS source FROM is_log AS l WHERE l.account_id = 730) UNION (SELECT l.id, l.account_id, l.vnum, l.count, l.preis, l.zeitpunkt, 'ig' AS source FROM ig_is_log AS l WHERE l.account_id = 730) ORDER …

1
電源が切れました-クエリは終了しましたか?
クエリが終了したかどうかを確認する方法はありますか?先週休暇に出かけたときに、非常に長時間実行される更新クエリを3つ(それぞれ+/- 25時間)実行しました。残念ながら、平日のどこかで電源が切れ、MYSQLを実行しているマシンがシャットダウンしました。3つ(または3つすべて)のクエリのどれが完了したかをチェックして確認する方法はありますか? データが更新されたかどうかを確認できることはわかっていますが、正しい完全な実行ではNULLが予想され、4800万行のデータが閲覧されます。何かご意見は?
9 mysql 

1
Amazon RDS MySQL 5.5 Innodbロック待機タイムアウトを超えました
Amazon RDSに移行して以来、かなりクレイジーなパフォーマンスの問題があり、今日はロックの問題が発生し始めています。そのため、タイムアウトの問題だと思い、使用しているメモリを確認しました。約70MB相当のスワップを行いました。私はmysqltunerを使ってメモリ魔女狩りをしましたが、最大メモリ使用量は約400%と言われていました。Perconaの構成ウィザードのおかげで、今では100%を少し超えています。 ただし、このロックの問題はまだ残っているので、メモリ/スワッピングとは関係がないと思います。それでもロックアウトが発生するのはなぜですか?何が起きてる? 再起動で問題が解決すると確信していますが、それは解決策ではありません。将来これを防ぐために何ができるでしょうか?クエリキャッシュとテーブルをフラッシュしてみましたが、うまくいきました。 RDSのおかげで、他の種類のフラッシュは機能しませんでした:/ 以下に、私が提供できると考えられる豊富な情報を示します。 クエリ INSERT INTO `myTable` (`firstName`, `lastName`, `email`) VALUES ('Travis', 'B...', '...@gmail.com') エラーメッセージ Lock wait timeout exceeded; try restarting transaction テーブルスキーマ CREATE TABLE IF NOT EXISTS `myTable` ( `id` int(15) NOT NULL AUTO_INCREMENT, `firstName` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `lastName` varchar(255) COLLATE utf8_unicode_ci NOT NULL, …

3
mysqlがデータ送信に時間がかかりすぎる
数百万レコード(14,000,000)の単純なテーブルがあり、単純なクエリでは「データの送信」に時間がかかりすぎています。 テーブル CREATE TABLE IF NOT EXISTS details ( id int(11) NOT NULL, date date NOT NULL, time int(2) NOT NULL, minutes_online decimal(5,0) NOT NULL, minutes_playing decimal(5,0) NOT NULL, minutes_chatting decimal(5,0) NOT NULL, minutes_away decimal(5,0) NOT NULL PRIMARY KEY (id,date,time) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; 簡単なクエリ mysql> SELECT * FROM …

3
vpsで実行されているmysqlの接続と致命的なエラーを解決する方法
私はlinodeサーバーでアプリケーションPHPlistを実行しています。同時に12個のPHPスクリプトを実行しています。それぞれがMySQL接続を開きます。PHPlistにアクセスすると、次のエラーが表示されることがよくあります。 致命的なエラー:サーバーは現在ビジー状態です。しばらくしてからもう一度お試しください。 phpMyAdminにアクセスしようとすると、#1040エラーが表示されます。cronジョブを実行する私のPHPスクリプトの出力は次のとおりです。 PHP警告:mysqli_connect():(HY000 / 1040):接続が多すぎます 私はサーバーのLAMPスタックをphpMyAdminで使用しています。top端末の出力は、mysqld100〜130%のCPUの使用を示しています。この問題をトラブルシューティングしようとすると、いくつかの手掛かりが得られました。 max_connection変数を増やします:私は200(デフォルトでは100)を使用しています オープンテーブルキャッシュ:512(デフォルトでは400) 設定する変数はたくさんありますが、具体的な変数を特定できません。参照先が 多すぎます。接続が多すぎる とhttp://dev.mysql.com/doc/refman/5.5/en/table-cache。 html しかし、私の使用法によると、メモリを増やす方法と、私にとって最大のメモリはどれほど難しいかです。 私のサーバーでは、約12のPHPスクリプト、メール送信用のPHPlistアプリケーション、およびユーザー登録用の主要なデータベースを使用しています。 この問題の解決を手伝ってください。
9 mysql  phpmyadmin  php 

2
Amazon RDS I / Oリクエスト-1つのクエリ= 1つの請求可能なI / O?
Amazon RDSに移行したいInnoDBデータベースがあります。 自分のサーバーでホストされている現在の実装では、月におよそ800万のクエリが表示されます。 RDSサイトによると、I / Oレートは100万リクエストあたり$ 0.10です。 1 I / O = 1クエリですか?つまり、この使用量+ RDS料金に対して月額80ドルが請求されますか?
9 mysql  innodb 

2
1つのステートメントでテーブルの多くの行を更新しますか?
テーブルの多くの行を更新する最も簡単な方法は何ですか?次のようなcsvファイルがあります。 |primary_key |value| | 1 | xyz| | 2 | abc| | 3 | def| ... これらの主キーを持つ行はすでにターゲットテーブルに存在します これらの値でターゲットテーブルを更新したいと思います。構文はありますか? update mytable set value = ('xyz', 'abc', 'def') where primary key = (1,2,3); 覗きMySQLの更新リファレンス、このサイト(MySQLの- CSV更新)、SO(更新複数行、複数のDBの更新、更新複数行)、私は答えは「ノー」であると思われるが、私が好きな確認するために、このことを本当です。
9 mysql  update  replace 

2
ビューの実行プランを取得するにはどうすればよいですか?
いくつかのビューを持つスキーマがあります。実行プランをチェックして、適切なインデックスが配置され、使用されていることを確認する必要があります。 どうすればよいですか? 私はむしろからの出力をコピー&ペーストする必要はないだろうshow create view <viewname>にexplain景色の一部が他のビューの上に構築されている、特にとして、これは非常に苦痛になります。

4
phpMyAdminでデータベース構造を表示する方法
phpMyAdminを使用してデータベース構造のレポートを生成する方法はありますか?私が欲しいのは、次のようなテーブル形式とエンティティ関係テーブルです。 Table name: List Description: Subscriber list information Field Type Null Description ListID Int N ListName Varchar N ListFromName Varchar N Default person represent for the mail ListReplyTo Varchar N Default return address ListSubject Varchar N Default subject title of mail ListRemindSub Int N Whether notify when people subscribe ListRemindUnSub …

3
MySQLテーブルがクラッシュするのはなぜですか?どうすれば防止できますか?
私は、Moodleサイトの管理者です。そのユーザテーブルが破損していて、使用できなくなりました。 幸いなことに、シンプルなREPAIR TABLE mdl_userもので再び機能しました。問題は、実際にクラッシュしてそれが使用できなくなった理由がわからないことです。次回はよりよく準備できるようにしたいと思います。 私は完全に経験豊富なDBAではありません—私は多くのことを行う開発者なので、ご容赦ください。 バックアップを復元することもできますが、クラッシュを防ぐ方法はあると思います。 これらのテーブルはutf8_general_ciであり、MyISAMを使用しています。 MySQLテーブルがクラッシュするのはなぜですか?これを防ぐにはどうすればよいですか?
9 mysql  myisam 

2
UPDATE SET REPLACE()ステートメントが行に一致するのに、何も変更せず、警告を出さないのはなぜですか?
フィールドで特定の文字列を探していますが、新しい文字列に置き換えたいと考えています。具体的には、あるURLへのすべての参照を別のURLに変更する必要があります。このSQLステートメントを作成し、mysql>MySQL Community Server 5.1.54を使用してCentOS 5.5のプロンプトで実行しています。 update [table] set [field] = REPLACE([field],'%domain.com%','%domain.org%'); 応答は次のとおりです。 Query OK, 0 rows affected (0.02 sec) Rows matched: 618 Changed: 0 Warnings: 0 変更が行われない理由を追跡するにはどうすればよいですか? 編集1: Aaron Bertrandのおかげで、REPLACE()ワイルドカードを処理できないことがわかり、それを完全に間違って使用していました(WHERE句の欠落など)。これが私の改定された声明です。 UPDATE [table] SET [column] = REPLACE ( [column], 'companydomain.com', 'companydomain.org' ) WHERE [column] LIKE '%companydomain.com%'; 私は古い、おなじみを受け取ります: Query OK, 0 rows …
9 mysql  dml 


1
トランザクションログとバイナリログの違いは何ですか?
SQL Serverショップから来て、今はMySQLを使用しています。 MySQLのバイナリログとMSSQLのトランザクションログの違いは何ですか? これまでの見通しでは、MSSQLのようにデータベースごとのトランザクションログとは対照的に、MySQLインスタンスごとに1つのバイナリログしかないようです。

1
MySQLクエリの実行中にクライアントがタイムアウトしますか?
MySQLワークベンチを介して実行された読み取り専用クエリがユーザーのUIの観点からタイムアウトになり、停止が発生するまでサーバー上で実行され続けた(そしてますます多くのリソースを消費している)という問題が発生しました。 ご質問 MySQLでこの種の問題に対処する標準的な方法はありますか? 私たちが避けなければならない根本的な原因はありますか?

3
EXPLAIN出力は、私のインデックスが使用されていないことを示唆しています
私はテーブルにdone_status(done_status = INT)のみのインデックスを設定しました: 私が使うとき: EXPLAIN SELECT * FROM reminder WHERE done_status=2 私はこれを取り戻します: id select_typeテーブルタイプの可能性ありのキーキーのkey_len ref rows Extra 1簡単なリマインダーALL done_status NULL NULL NULL 5 whereの使用 しかし、このコマンドを発行すると: EXPLAIN SELECT * FROM reminder WHERE done_status=1 以下が返されます: id select_typeテーブルタイプの可能性ありのキーキーのkey_len ref rows Extra 1 SIMPLE reminder ref done_status done_status 4 const 2 EXPLAINそれは5行、二回目2行を使用していることを示してくれ。 インデックスが使用されているとは思いません。最初に正しく理解した場合は、3行になるはずです。何が悪いのでしょうか? SHOW …
9 mysql 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.