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

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

4
MySQLの「CREATE INDEX」は線形操作ですか?
私が言いたいのは次のことです: n行を含むテーブルにインデックスを作成するのにt時間がかかる場合。1000*nほぼ1000*t時間をかけて同じテーブルにインデックスを作成します。 私が達成しようとしているのは、はるかに小さいテストデータベースに同じインデックスを作成することで、運用データベースにインデックスを作成するのにかかる時間を見積もることです。
20 mysql  index 

1
mysqldumpはデフォルトでインデックスをエクスポートしますか?
私は、mysqldumpをして少しいじっし、それが輸出指数を(ない場合、私は、思っていたFULLTEXT、INDEXデフォルトでは、...)。私はそれを読んで、このオプションを見つけました: --disable-keys, -K 実際にインデックスをエクスポートすることを示唆しています。しかし、私は自分の解釈を信用したくありません。そして、私はそれが正しいことを確認したいです(または間違っています;-))。誰でもそれを確認できますか?

7
1つのレコードにブール値列のtrue値を強制し、他のすべての値にfalse値を強制するにはどうすればよいですか?
テーブル内の1つのレコードのみが、そのテーブルにアクセスする可能性のある他のクエリまたはビューの「デフォルト」値と見なされるように強制します。 基本的に、このクエリが常に正確に1行を返すことを保証したいと思います。 SELECT ID, Zip FROM PostalCodes WHERE isDefault=True SQLでこれを行うにはどうすればよいですか?

2
mysqlでシーケンスを生成する方法
mysqlでこのテーブルを検討してください create table numbers (number int); insert into numbers values (3), (2), (9); select * from numbers; +--------+ | number | +--------+ | 3 | | 2 | | 9 | +--------+ 次の列を持つテーブルを生成する簡単なクエリはありますか 1から10までの数字 テーブル番号に番号が存在する場合は1、そうでない場合は0 これを行うには、一連の数字を作成する必要があると思います。可能であれば、データベースに保存せずにそのようなシーケンスを作成したいと思います。 関連質問:1から10(または100または1000)の数字のシーケンスを生成する選択クエリはありますか?
19 mysql  sequence 

2
MySQLはクエリをキャッシュしますか?
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 6年前に移行され ました。 MySQLデータベースとPHP Data Objects(PDO)を接続し、広範なSQLクエリを実行しています。通常、約1500ミリ秒かかります。まだ最適化する必要があります。PHPスクリプトを短い間隔で2回実行すると、クエリにかかる時間は約90ミリ秒です。クエリはどちらの場合も同じです。同じクエリでスクリプトを実行すると、しばらくしてから再び1500ミリ秒かかります。 何故ですか?データベースは自動的にキャッシュされますか?データベースがキャッシュを保存してから自動的に削除する時間はありますか? これは2つの異なるスレッドで発生するため、PHPで結果をキャッシュできないと思います。データベースが変更されたかどうかを知ることができないため、PHPが結果をキャッシュするとは思わないでしょう。 データベースに新しい行を挿入するスクリプトを毎分実行しています。これは、しばらくして再び1500ミリ秒かかる理由でもあります。関連するテーブルが同じではなくなったため、キャッシュは削除されていました。
19 mysql 

11
特定の文字列をMySQLデータベース全体で検索する方法
特定の文字列を見つけるためにデータベーステーブル全体(行と列)を検索することは可能ですか? 私は約35個のテーブルを持つAという名前のデータベースを持っていますが、「hello」という名前の文字列を検索する必要があり、この文字列がどのテーブルに保存されているのかわかりません。それは可能ですか? MySQLを使用する 私はLinux管理者であり、データベースに精通していません。クエリを説明することができれば本当に役立ちます。
19 mysql 

3
InnoDBが行カウントを保存しないのはなぜですか?
InnoDBをエンジンとして使用するテーブルではSELECT COUNT(*) FROM mytable、特にテーブルが大きくなり、そのクエリの実行中に一定の行の挿入/削除がある場合、クエリは非常に不正確で非常に遅いことを誰もが知っています。 私が理解したように、InnoDBは行数を内部変数に保存しません。これがこの問題の原因です。 私の質問は:なぜこれがそうなのか?そのような情報を保存するのは難しいでしょうか?これは非常に多くの状況で知っておくべき重要な情報です。そのような内部カウントが実装されるかどうか私が見る唯一の難しさは、トランザクションが関与している場合です:トランザクションがコミットされていない場合、それによって挿入された行をカウントしますか? PS:私はDBの専門家ではなく、MySQLを単純な趣味として持っているだけの人です。だから、私がばかげたことを尋ねただけなら、過度に批判的にならないでください:D。
19 mysql  innodb  count 

3
innodb_file_per_tableはお勧めですか?
テーブルの1つだけが数百万行に成長し、残りは100万行未満になるアプリケーションがあります。それでは、innodb_file_per_tableを使用するか、1つの.ibdのままにしておくべきでしょうか。実行する結合があるときに、より多くのディスクアクセスが必要なので、私はそれと一緒に行かないと言ういくつかの記事を読みましたか?レポート生成のために、このテーブルと他のテーブルを結合します。
19 mysql  innodb 

2
MySQLのVARCHARデータ型とTEXTデータ型の違いは何ですか?
バージョン5.0.3(VARCHARを65,535バイトにすることができ、末尾のスペースの切り捨てを停止した)の後、これら2つのデータ型に大きな違いはありますか? 私は違いのリストを読んでいたのですが、注意すべき点は2つだけです。 BLOBおよびTEXTカラムのインデックスの場合、インデックスプレフィックス長を指定する必要があります。CHARおよびVARCHARの場合、プレフィックスの長さはオプションです。セクション7.5.1「カラムインデックス」を参照してください。 そして BLOB列とTEXT列にDEFAULT値を含めることはできません。 TEXTデータ型にはこれら2つの制限があるため、なぜvarchar(65535)で使用するのでしょうか?一方のパフォーマンスが他方のパフォーマンスに影響しますか?

4
2つの異なる場所にある2つのMySQLデータベースを同期する
内部サーバーとWebホスティングサーバーに2つの同一のMySQLデータベースがあります。内部サーバーのデータベースを使用して、毎日Webホストのデータベースを更新したい。このプロセスを自動化する方法はありますか、これを手動で行う方法はありますか?手動で行う場合、内部サーバー上のデータベースのSQLダンプを取得してから、Webホスト上のデータベースにインポートする必要がありますか?誰かアドバイスしてください。

1
ENUM()リストを変更することは可能ですか?
ENUM()リストの変更が不可能かどうか確信が持てなかったので、テストを行いました。MySQL v5.1.58では、タイプENUM( 'yes'、 'no')の 'bool'という1つのフィールドを含むテストInnoDBテーブルを作成しました。 それから私は実行しました... ALTER TABLE `test` CHANGE `bool` `bool` ENUM( 'yes', 'no', 'maybe' ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ...そしてそれは働いた。 私は何か間違ったことをしましたか?dbエンジンに依存していますか?誰もがENUM()リストの変更は不可能だと言うのはなぜですか?例えば。こちらhttp://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/
19 mysql  innodb 


3
phpMyAdminでmysqlテーブルの自動インクリメントを1にリセットするにはどうすればよいですか?
MySQLのコマンドラインで、これを使用してテーブルの自動インクリメントフィールドを1にリセットできることを知っています。 ALTER TABLE tablename AUTO_INCREMENT = 1 phpMyAdmin内からこれを行う方法があるかどうか興味があります。これらの行に沿って自動インクリメントまたは他の何かをリセットするチェックボックスのようなものはありますか? コマンドラインアプローチに問題があるわけではありません。私が考え続けている好奇心のもっと多くのもの...事前に感謝します!

1
MySQLはテーブル内の各レコードの別のテーブルから行をカウントします
SELECT student.StudentID, student.`Name`, COUNT(attendance.AttendanceID) AS Total FROM student LEFT JOIN attendance ON student.StudentID = attendance.StudentID 私は最後の行を数えようとしていますが、代わりにすべての結果を数え、1つの結果を返します 私は次のようなものを得ています K1052280の出席IDに2つのエントリがあるため、複数のレコードがあるため、それらをカウントして番号を返します。何かのようなもの
19 mysql  select  count 

5
mysqldumpエラー2013
mysqlでバックアップしたいデータベースがインストールされています。mysqldump「maia_mail」テーブルのエクスポートで問題が発生します # mysqldump -u root -p maia > maia.sql mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `maia_mail` at row: 15 30秒未満で実行され、上記のエラーが表示されます。 DBの合計サイズは1.3GBで、maia_mailテーブルは1.0GBです ではmy.cnfIこれらのセットを持っています: [mysqld] max_allowed_packet = 1300M [mysqldump] max_allowed_packet = 1300M データベースをダンプする方法に関するアドバイスまたはアドバイスをお願いします。

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