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

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


6
アクティブな読み取りと書き込みを行うライブシステムでmysqldumpを実行する最も安全な方法は?
これが本当かどうかはわかりませんが、Linuxで次のコマンドを実行すると読んだことを覚えています mysqldump -u username -p database_name > backup_db.sql データベースに対して読み取りおよび書き込みが行われている間、ダンプにはエラーが含まれる場合があります。 mysqldumpこれが稼働中のシステムで安全に実行されるようにするためのコマンドに特定のオプションはありますか?数秒間ユーザーの読み取り/書き込みを無効にしても問題ありません(データベース<50MB)

8
MySQL 5.5でutf8テーブルをutf8mb4に簡単に変換する方法
現在、4バイト文字(中国語)をサポートする必要があるデータベースがあります。幸いなことに、MySQL 5.5はすでに実稼働しています。 したがって、utf8_binからutf8mb4_binまでのすべての照合を作成したいと思います。 この変更によるパフォーマンスの損失/利得は、ストレージのわずかなオーバーヘッド以外にはないと考えています。
71 mysql 

2
1つの大きなクエリまたは複数の小さなクエリの高速化とは何ですか?
私はさまざまな企業で働いていますが、一部の企業は、すべての「相対」テーブルを結合するビューを持つことを好むことに気付きました。しかし、その後、アプリケーション上で使用する必要があるのは1列のみです。 それでは、単純な選択を行い、それをシステムコードで「結合」する方が速いでしょうか? システムは、php、java、asp、データベースに接続する任意の言語です。 だから問題は、サーバー側(php、java、asp、ruby、python ...)からデータベースに行く方が速いか、必要なものをすべて取得する1つのクエリを実行するか、サーバー側からデータベースに移動して一度に1つのテーブルから列のみを取得するクエリ?


4
MySQLは巨大な(32 GB)SQLダンプをより速くインポートする方法ですか?
この巨大な32 GBのSQLダンプがあり、MySQLにインポートする必要があります。そのような巨大なSQLダンプをインポートする必要はありませんでした。私はいつもやった: mysql -uroot dbname < dbname.sql 時間がかかりすぎています。約3億行のテーブルがあり、約3時間で150万行になります。そのため、全体が600時間(24日間)かかり、実用的ではないようです。だから私の質問は、これを行うより速い方法はありますか? 詳細情報/調査結果 テーブルはすべてInnoDBであり、外部キーは定義されていません。ただし、多くのインデックスがあります。 元のサーバーとDBにアクセスできないため、新しいバックアップを作成したり、「ホット」コピーなどを実行したりできません。 ここでinnodb_flush_log_at_trx_commit = 2提案されている設定では、(明らかに見える/指数関数的に)改善されないようです。 (MySQLのワークベンチからの)輸入時のサーバの統計情報:https://imgflip.com/gif/ed0c8。 MySQLバージョンは5.6.20コミュニティです。 innodb_buffer_pool_size = 16Mおよびinnodb_log_buffer_size = 8M。これらを増やす必要がありますか?


7
MySQLレプリケーションを完全に無効にする方法
デュアルマスターMySQLレプリケーションを実行していますが、レプリケーションなしで単一のデータベースに移行したいと考えています。両方のデータベースでレプリケーションを完全に無効にするにはどうすればよいですか?

1
mysqlでibdataのサイズを縮小する最良の方法は何ですか?
私は、ibdataファイルのサイズが日々増加する運用サーバーをいくつか持っています。 すでに290GBのスペースを消費しています。 サーバー内のテーブルの大部分はInnoDBであり、高い読み取りおよび書き込み要求があります。 ログファイルのサイズも増加します。テーブルには大量のデータがあります。 両方のサイズの増加をどのように制御できますか? 私は使用していませんinnodb_file_per_table。
63 mysql  innodb 

4
MySQL:存在しない場合はインデックスを作成
MySQLにインデックスが存在しない場合に作成する方法はありますか? MySQLは明白な形式をサポートしていません。 CREATE INDEX IF NOT EXISTS index_name ON table(column) ERROR 1064 (42000): You have an error in your SQL syntax;... MySQLバージョン(mysql -V)は5.1.48ですが、MySQLにはCREATE INDEX IF NOT EXISTすべてのバージョンの機能が欠けていると思います。 MySQLにインデックスがまだ存在しない場合にのみインデックスを作成する正しい方法は何ですか?

3
固定サイズのフィールドでCHARとVARCHARを使用すると、パフォーマンスにどのような影響がありますか?
MD5ハッシュを格納するインデックス列があります。したがって、列には常に32文字の値が格納されます。何らかの理由で、これはcharではなくvarcharとして作成されました。データベースを移行してcharに変換する手間をかける価値はありますか?これは、InnoDBを使用したMySQL 5.0にあります。

3
階層型フィールドの最高レベルを検索:CTEありとなし
注:この質問は、現在MySQLを使用していることを反映するように更新されました。これを行ったので、CTEをサポートするデータベースに切り替えるとどれほど簡単になるかを知りたいと思います。 主キーidと外部キーを持つ自己参照テーブルがありますparent_id。 +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | parent_id | int(11) | YES | | NULL | | | name | varchar(255) | YES | | NULL …



3
MySQLでビューを使用する場合
分析で使用するために複数の結合からテーブルを作成する場合、新しいテーブルを作成するよりもビューを使用する方が適切ですか? ビューを使用したい理由の1つは、データベーススキーマが管理者によってRuby内から開発されており、Rubyに詳しくないことです。テーブルの作成をリクエストできますが、追加の手順が必要であり、新しい結合を開発/テストする際の柔軟性を高めたいです。 SO(Rを使用する場合、SQLを使用する場合)に関連する質問への回答に従ってビューを使用し始めました。トップ投票の答えは、「データが単一のテーブルに収まるまでSQLでデータ操作を行い、残りをRで行う」ことから始まります。 ビューの使用を開始しましたが、ビューに関するいくつかの問題に遭遇しました。 クエリははるかに遅い ビューは、分析に使用する実稼働データベースからバックアップデータベースにダンプされません。 ビューはこの用途に適していますか?もしそうなら、パフォーマンスのペナルティを期待すべきですか?ビューのクエリを高速化する方法はありますか?

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