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

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

2
innodbステータスログでデッドロックを解読する際の問題
Microsoft ADO.NETコネクタからMySQLにアクセスしています。 ときどき、innodbステータスに次のデッドロックが発生し、問題の原因を特定できないことがあります。トランザクション(2)は同じロックを待機して保持しているように見えますか? ------------------------ LATEST DETECTED DEADLOCK ------------------------ 110606 5:35:09 *** (1) TRANSACTION: TRANSACTION 0 45321452, ACTIVE 0 sec, OS thread id 3804 starting index read mysql tables in use 1, locked 1 LOCK WAIT 2 lock struct(s), heap size 368, 1 row lock(s) MySQL thread id 84, query id …

2
時折クエリが遅くなる理由は?
Windows Server 2008 R2でMySQL 5.1を実行しています。 私たちは最近データベースでいくつかの診断をしていて、説明できないいくつかの邪魔なアーティファクトを見つけました。長時間(> 2000ミリ秒)のクエリがある場合にログにコードを追加しました。結果は驚くべきものでした(そして、おそらくデッドロックの説明)。 通常、非常に短い時間(10ミリ秒未満)で実行されるクエリには、4〜13秒かかります。明確にするために、これらは絶えず(1秒間に数回)実行されているクエリであり、これらのクエリの時間スパイクに悩まされていません。 明らかな間違いを探すためにインデックスを調べましたが、あまり運がありませんでした。 更新 ピープルテーブル: | people | CREATE TABLE `people` ( `people_id` bigint(20) NOT NULL AUTO_INCREMENT, `company_id` bigint(20) NOT NULL, `name` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, `temp_password` varchar(10) DEFAULT NULL, `reset_password_hash` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `phone` varchar(32) DEFAULT …

3
MySQLストアドプロシージャ内でプリペアドステートメントを使用する方法は?
私はmysqlを使用しており、後のクエリで準備されたステートメントによって返された列curidを何らかの方法で使用する必要があります。私が読んだように、変数をLIMIT句に渡す唯一の方法であるため、プリペアドステートメントを使用します。ここにこのストアドプロシージャがあります。 DROP PROCEDURE IF EXISTS fixbalance; CREATE PROCEDURE fixbalance (userid INT) BEGIN DECLARE i INT DEFAULT 0; DECLARE balance INT DEFAULT 0; DECLARE idcnt INT; SET idcnt = (SELECT COALESCE(COUNT(id), 0) FROM coupon_operations WHERE user_id = userid); IF idcnt <> 0 THEN WHILE i <= idcnt DO BEGIN SET @iter …

3
MySQLサブクエリの問題
このクエリを実行する理由 DELETE FROM test WHERE id = ( SELECT id FROM (SELECT * FROM test) temp ORDER BY RAND() LIMIT 1 ); 時には1行、時には2行、時には何も削除しませんか? この形式で書いた場合: SET @var = ( SELECT id FROM (SELECT * FROM test) temp ORDER BY RAND() LIMIT 1 ); DELETE FROM test WHERE id=@var; それは正しく動作します-サブクエリに問題はありますか?
16 mysql 

3
12 GBの.sqlファイルのインポートに36時間以上かかるのはなぜですか?
単純なtype site.sql | mysqlコマンドで12 GBの.sqlファイルがインポートされるまで、36時間待っていました。ibdata1現在も40 GB近くのまだ成長していることがわかります。 トリガーとストアドプロシージャが.sqlの最後にあることを考慮すると、MySQLはデータとキーインデックスを追加するだけだと思います。 site.sqlは、別のサーバーから次のコマンドを使用して生成されました。 mysqldump -R -e --databases site --add-drop-database --add-create-database --add-drop-table -C --single-transaction --triggers 何がかかっているの?
16 mysql  mysql-5  mariadb 

5
クエリキャッシュが無効になっているときに、MySQLスレッドが「アイテムの解放」ステータスを表示することが多いのはなぜですか?
を実行するとSHOW PROCESSLIST、多くの場合、「アイテムの解放」状態の多数のINSERT / UPDATEスレッドがあります。 MySQLのマニュアルでは、スレッドがこの状態になる理由の少なくとも一部がクエリキャッシュに関係していることを示唆しています。データの変更によりキャッシュクエリが無効になっていると考えられます。 ただし、my query_cache_sizeは0に設定され、クエリキャッシュが完全に無効になります。 この状態で非常に多くのスレッドを持つことには、他にどのような理由がありますか? 関連するテーブルはInnoDBストレージエンジンを使用します。
16 mysql  innodb 


3
BONYEANをTINYINT(1)よりも使用する利点は何ですか?
MySQLマニュアルから、次のように書かれています: ブール、ブール これらのタイプはTINYINT(1)の同義語です。値ゼロは偽と見なされます。ゼロ以外の値は真と見なされます。 0デフォルト値としてBOOLEAN列を作成しました。次に、値をに更新します2。論理的には、私は、MySQLはどちらか受け入れることを期待する0か1、それはboolean型であるため。しかし、MySQLはエラーを発行したり、アップデートを実行することを妨げたりしませんでした。 BOOLEANがTINYINT(1)とまったく同じように機能する場合、TINYINT(1)を使用するかBOOLEANを使用するかに違いはありますか?
16 mysql  datatypes 

2
ユーザー/パスワード/特権のバックアップ/復元
あるサーバーから別のサーバーに移動し、MySQLサーバーからすべてのデータベース+ユーザー/特権/パスワードをバックアップしたい。を使用してデータベースをバックアップすることがわかりましmysqldumpたが、すべてのユーザーと指定された特権をバックアップする方法がわかりません。これを達成する方法はありますか、またはこれを新しいサーバーに新しく設定する必要がありますか?

2
300,000行のテーブルで実行するのに11分かかるクエリを結合します
以下のクエリの実行には11分以上かかります。 SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS next_day FROM `tms_emp_badge_card` AS `c` LEFT JOIN `tms_door_record_raw` AS …

7
エラーログの場所?
MySQLはログファイルを書き込みますか?はいの場合、そのパスは何ですか(ubuntu / Linuxの場合)?
15 mysql  log 

1
MySQLに「プロシージャの作成または置換」の代替手段はありますか?
MySQL用の「プロシージャの作成または置換」のバージョンはありますか?ストアドプロシージャが存在するというエラーメッセージを表示せずに、再コンパイルする前に、これを実行したり、プロシージャの削除をスクリプト化することはできないようです。 DELIMITER $$ -- would love to be able to drop procedure if exists db.sp_tmp_90days; -- or use "create or replace" create procedure db.sp_tmp_90days() BEGIN drop table db.tmp_90days; create table db.tmp_90days ( user_name varchar(128), first_name varchar(50), last_name varchar(50), system varchar(10), last_login datetime ); alter table db.tmp_90days add index idx_user_name(user_name); alter …

2
空の列値は、入力された列値と同じストレージスペースを占有しますか?
2列のテーブルがあります。両方の列のタイプはに設定されvarchar(38)ます。列の1つに空の値を持つ行を作成する場合、値が空でない場合と同じストレージスペースが必要ですか? 言い換えると、MySQLは行の作成時に列のストレージスペースを(そのタイプに応じて)予約しますか?

3
MySQLを使用したバージョン管理システムの実装
私はこれがこことここで尋ねられたことを知っていますが、異なる考えられる実装で同じ考えを持っているので、助けが必要です。 最初は、blogstoriesこの構造のテーブルがありました。 | Column | Type | Description | |-----------|-------------|------------------------------------------------| | uid | varchar(15) | 15 characters unique generated id | | title | varchar(60) | story title | | content | longtext | story content | | author | varchar(10) | id of the user that originally wrote the …

1
「LIMIT 0、1」と「LIMIT 1」に違いはありますか?
私は最近、これらの表記法が異なるサンプルコードに出くわしました。 SELECT * FROM table LIMIT 0, 1 SELECT * FROM table LIMIT 1 私が間違っていない場合、最初の引数はオフセットと見なされる必要があります。これら2つのクエリの目的は、選択を最初の行までに制限することです table オフセットを除外するときにマイナスの影響はありますか?そもそもそれを除外する方法はありますか?または、クエリを誤解しましたか?
15 mysql 

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