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

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


15
MySQLは数十億行に対して合理的にクエリを実行できますか?
MySQLデータベースに質量分析計からのスキャンを保存することを計画していますが、この量のデータの保存と分析がリモートで実行可能かどうかを知りたいです。パフォーマンスは環境によって大きく異なることがわかっていますが、大まかな順序を探しています:クエリには5日または5ミリ秒かかりますか? 入力形式 各入力ファイルには、分光器の単一の実行が含まれています。各実行は一連のスキャンで構成され、各スキャンには順序付けられたデータポイントの配列があります。少しのメタデータがありますが、ファイルの大部分は32ビットまたは64ビットのintまたはfloatの配列で構成されています。 ホストシステム | ---------------- + ------------------------------- | | OS | Windows 2008 64ビット| | MySQLバージョン| 5.5.24(x86_64)| | CPU | Xeon E5420 x 2(合計8コア)| | RAM | 8GB | | SSDファイルシステム| 500 GiB | | HDD RAID | 12 TiB | | ---------------- + ------------------------------- | 無視できるプロセッサー時間を使用して、サーバーで実行されている他のサービスがいくつかあります。 ファイル統計 | ...


11
大きな.sqlファイルのインポートの進行状況を監視するにはどうすればよいですか?
foobar.sqlローカルデータベースのテーブルを復元するために7 GB をインポートしています。 $ mysql -h localhost -u root 'my_data' < foobar.sql $ mysql --version /usr/local/mysql/bin/mysql Ver 14.12 Distrib 5.0.96, for apple-darwin9.8.0 (i386) using readline 5.1 進捗状況を監視するにはどうすればよいですか?
204 mysql  mysqldump  import 

7
大規模なデータベースのmysqldumpを最適化するにはどうすればよいですか?
57テーブルで最大2GBのInnoDBデータベースを使用するsymfonyアプリケーションがあります。データベースのサイズの大部分は、単一のテーブル(〜1.2GB)にあります。現在、mysqldumpを使用してデータベースを夜間にバックアップしています。 コムキャスト接続のため、多くの場合、手動でダンプを実行している場合、ダンプが完了する前にサーバーへの接続がタイムアウトし、ダンプを再実行する必要があります。[現在、毎晩ダンプを実行するcronを実行しています。これは、手動で実行するダンプ用です。] 接続タイムアウトの問題のダンプを高速化する方法はありますが、サーバーがこのプロセスで占有される時間を制限する方法はありますか? ところで、私は現在、この問題を解決するためにデータベース全体のサイズを縮小することに取り組んでいます。

4
mysql innodb_buffer_pool_sizeの大きさはどれくらいですか?
私は、約5GBのサイズのInnoDBテーブルのみを持つビジーなデータベースを持っています。データベースはSSDディスクを使用してDebianサーバーで実行され、最大接続数= 800に設定しました。1秒あたりの平均クエリは約2.5Kです。そのため、可能な限り最大の接続を確保するために、メモリ使用量を最適化する必要があります。 私は、innodb_buffer_pool_sizeが合計メモリの最大%80であるべきだという提案を見てきました。一方、私はチューニングプライマースクリプトからこの警告を受け取ります。 Max Memory Ever Allocated : 91.97 G Configured Max Per-thread Buffers : 72.02 G Configured Max Global Buffers : 19.86 G Configured Max Memory Limit : 91.88 G Physical Memory : 94.58 G 現在のinnodb変数は次のとおりです。 | innodb_adaptive_flushing | ON | | innodb_adaptive_hash_index | ON | | innodb_additional_mem_pool_size | ...
170 mysql  innodb 


13
あるサーバーから別のサーバーにデータベースを移動するにはどうすればよいですか?
物理サーバー間でMySQLテーブルを移動するにはどうすればよいですか? この正確なシナリオのように: innodbテーブルを使用し、サイズが約20GBのMySQLサーバーがあります。 新しいサーバーに移動したいのですが、これを行う最も効率的な方法は何ですか?

5
MySQLに複数のコアを使用させることは可能ですか?
単一のコア以上を使用しない専用のMySQLサーバーをいくつか紹介しました。私はMySQLのDBAよりも開発者なので、助けが必要です セットアップ サーバーは、OLAP / DataWarehouse(DW)タイプのロードでは非常に大きくなります。 プライマリ:96GB RAM、8コア+シングルRAID 10アレイ テスト:4コアの32GB RAM 最大のDBは540 GBで、合計は約1.1TBで、ほとんどがInnoDBテーブルです Solaris 10 Intel-64 MySQL 5.5.x 注:最大のDBはOLTP DRサーバーから複製されたものであり、DWはこれからロードされます。完全なDWではありません。6か月から6週間で終了するため、OLTP DBよりも小さくなります。 テストサーバーでの観察 3つの個別の接続 それぞれに同時(および異なる)があります ALTER TABLE...DROP KEY...ADD INDEX 3つのテーブルには250万行、380万行、450万行があります CPU使用率は最大25%になり(1つのコアが最大になります)、それ以上はなりません 3回のALTERには12〜25分かかります(最小の1つに4.5分かかります)。 ご質問 複数のコアを使用するには、どのような設定またはパッチが必要ですか? つまり、なぜMySQLは利用可能なすべてのコアを使用しないのですか?(他のRDBMSと同様) レプリケーションの結果ですか? その他の注意事項 RDBMS「スレッド」とOS「スレッド」の違いを理解しています 私はどんな形の並列性についても尋ねていません InnoDBとスレッドのシステム変数のいくつかは次善の策です(クイックウィンを探しています) 短期的には、ディスクレイアウトを変更できません 必要に応じてOSを調整できます 最小のテーブル上の単一のALTER TABLEには4.5分かかります(IMOに衝撃を与えます) 編集1 innodb_thread_concurrencyは両方で8に設定されます。はい、間違っていますが、MySQLが複数のコアを使用することはありません innodb_buffer_pool_sizeはプライマリで80GB、テストで10GBです(別のインスタンスはシャットダウンされます)。これは今のところ大丈夫です。 innodb_file_per_table = ON 編集2 innodb_flush_log_at_trx_commit ...

3
ENUM型と整数型を使用する利点と欠点は?
ランダムなテーブルにstatusという名前の列があるとします。実際の値は、有効または無効になります。 この列のデータ型がint / bool(1または0)であるか、またはand ENUMの値で使用する方が良いでしょうか?長所と短所は何ですか?enableddisabled 有効なステータスが2つだけではなく、4または10以上あるとしますか?必要な値の数が増えると、長所と短所はどちらか一方に左右されますか?

5
MySQL innodb変数「innodb_log_file_size」を安全に変更する方法は?
だから、私はInnoDBをチューニングするのはかなり新しいです。MyIsamからInnoDBに(必要に応じて)テーブルをゆっくりと変更しています。innodbに約100MBあるので、innodb_buffer_pool_size変数を128MB に増やしました。 mysql> show variables like 'innodb_buffer%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 134217728 | +-------------------------+-----------+ 1 row in set (0.00 sec) innodb_log_file_size値を変更しようとしたとき(mysqlのinnodb構成ページのコメントの my.cnfの例では、ログファイルのサイズをバッファーサイズの25%に変更します。したがって、my.cnfは次のようになります。 # innodb innodb_buffer_pool_size = 128M innodb_log_file_size = 32M サーバーを再起動すると、次のエラーが表示されます。 110216 9:48:41 InnoDB:バッファープールの初期化、サイズ= 128.0M 110216 9:48:41 InnoDB:バッファープールの初期化の完了 InnoDB:エラー:ログファイル./ib_logfile0は異なるサイズ0 5242880バイト InnoDB:で指定されたものより.cnfファイル0 33554432バイト! 110216 9:48:41 ...
105 mysql  innodb  myisam  logs 

3
ALTER TABLE-列の名前を変更する
これは私に夢中です! ブログテーブルの列の名前をread-moreからread_moreに変更したい 私はこれをすべて試しました: ALTER TABLE blog RENAME COLUMN read-more to read_more; ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL; そして、私はいつもこれを手に入れます! ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ...
102 mysql  mysql-5.5  mysql-5 

5
カスケード(ON DELETE / UPDATE)動作の適切な説明
私は毎日スキーマを設計していませんが、そうするとき、私は管理を容易にするためにカスケード更新/削除を正しくセットアップしようとします。カスケードがどのように機能するかは理解していますが、どのテーブルがどのテーブルであるかを思い出すことはできません。 例えば、場合、私は2つのテーブルを持っている- ParentとChildの外部キーと- Childその参照Parentして持っているON DELETE CASCADEカスケードの引き金と記録しているが、カスケードによって削除されます記録し、?私の最初の推測はChild、ParentレコードはChildレコードに依存しているため、レコードが削除されるとレコードが削除されることですParentが、これON DELETEはあいまいです。それは、削除を意味することができParentたときに、レコードをChildレコードが削除されたか、削除意味するかもしれないChild時にレコードをParent削除されます。それでどちらですか? 構文がON PARENT DELETE, CASCADEであったON FOREIGN DELETE, CASCADEか、またはあいまいさを排除するために似たものがあればいいのにと思います。これを覚えているニーモニックはありますか?

5
集計値の保存と計算
集計値を保存するタイミングと、その場でそれらを計算するタイミングを決定するためのガイドラインまたは経験則はありますか? たとえば、ユーザーが評価できるウィジェットがあるとします(下のスキーマを参照)。ウィジェットを表示するたびに、Ratingsテーブルから平均ユーザー評価を計算できました。または、Widgetテーブルに平均評価を保存できます。これにより、ウィジェットを表示するたびに評価を計算する必要がなくなりますが、ユーザーがウィジェットを評価するたびに平均評価を再計算する必要があります。 Ratings Widgets --------- ------- widget_id widget_id user_id name rating avg_rating <--- The column in question

3
mysql-binファイルを削除しても安全ですか?
私はこれらに出くわした、私は、MySQLでMMレプリケーションを持っている、と私は、不要なファイルを削除するボックスに空き領域を圧迫したいmysql-bin内のファイル/var/db/mysql/のように、それらのファイルの何百ものがありますがmysql-bin.000123、mysql-bin.000223私は実行してMySQLのレプリケーションを確認しているなどshow master statusとshow slave status彼らは特定の位置でいくつかのmysql-binファイルを使用しますが、他のすべてのbinファイルは、今後使用されない残り物であると思います。この場合、レプリケーションが現在指しているファイル以外のすべてのmysql-binファイルを削除しても安全ですか? 削除しても安全な場合、使用されていないファイルを自動的に削除するためにできることはありますか?

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