0

次のテーブル スキーマがあります。

CREATE TABLE `alexa` (
  `id` int(10) unsigned NOT NULL,
  `rank` int(10) unsigned NOT NULL,
  `domain` varchar(63) NOT NULL,
  `domainStatus` varchar(6) DEFAULT NULL,
  PRIMARY KEY (`rank`),
  KEY `domain` (`domain`),
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

データのインポートには数分かかります。100万行のデータしか話していないので、私にはかなり遅いようです。

このデータの挿入を最適化するにはどうすればよいですか? (すでに無効キーを使用しています)

4

2 に答える 2

0

LOAD DATA INFILEまたは同等のコマンドライン ツールmysqlimportを使用します。これは、他のどの方法よりも 20 倍高速です。

MySQLマニュアルのINSERTステートメントの速度も読むことができます。これには、一括挿入のパフォーマンスを改善するためのヒントがたくさんあります。

現在データをどのように挿入しているか (キーを無効にする以外)についてはあまり言及していないため、それを改善する方法についてより具体的に推奨することは困難です。たとえば、どのコーディング言語を使用していますか? 準備されたクエリを使用していますか?

于 2010-04-26T21:09:18.367 に答える
0

レプリケーションを使用しない場合は、bin ログがオフになっていることを確認します。

set sql_log_bin=off;
于 2010-04-26T21:18:08.437 に答える