私は結合削除をしようとしていますが、タイムアウトしています。それがクロス結合の問題であるかMySQLの問題であるかはわかりません。 MySQL 5.7.17コミュニティで7 64を獲得してください。mysql delete joinは何の理由もなく失敗しますか?
は、前回この問題が起きて解決したvipre avに問題がありました(AV製品をテストしていましたが、2つをインストールする必要はありません)。私は小さなデータマートをMySQLに移行するつもりですが、何が起きているのか分からなければ、この問題の原因を突き止めることができず、MySQL上のすべてを構築することができません。
のでタイムアウトし続けSQLは次のとおりです。運と
DELETE prod
FROM cmdata.vauto_feed_options as prod
INNER JOIN cmdata.vauto_feed_options_cache stage
using (stock__)
または
delete prod
FROM cmdata.vauto_feed_options as prod
INNER JOIN cmdata.vauto_feed_options_cache stage
ON (prod.stock__ = stage.stock__
AND prod.vin = stage.vin)
またはその他の多くの組み合わせ。 テーブルには自然な主キーはなく、唯一の複合キーはすべてのフィールドです。これはデータELTの一部であり、古いデータのすべての痕跡を削除し、到着したレコードの新しいデータを読み込み、テキストファイルとして送信されなかった古いレコードを残したいだけです(テーブルは切り捨てられません)。
私はinnisbをmyisamに逆さにして、テーブルを削除して再作成し、avスキャンからのパスを除外しました。無効av、削除av(ウイルス対策)。私はva_option_idを自動番号pkとして追加しました。
新しいデータが入っていて、1ビン当たり50から100のレコードとストックコンボがあり、機能テキストは異なります(フロアマット、DVDプレーヤーなど)。実際には、csvファイルの1つのフィールドからストレージの行に正規化されています。
delete prod CREATE TABLE `vauto_feed_options` (
`va_option_id` int(11) NOT NULL AUTO_INCREMENT,
`Stock__` varchar(10) NOT NULL,
`VIN` varchar(17) NOT NULL,
`Features` varchar(200) NOT NULL,
PRIMARY KEY (`va_option_id`)
) ENGINE=InnoDB AUTO_INCREMENT=297269 DEFAULT CHARSET=utf8;
296303レコードの
CREATE TABLE `vauto_feed_options_cache` (
`Stock__` varchar(10) DEFAULT NULL,
`VIN` varchar(17) DEFAULT NULL,
`Features` varchar(200) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
だけで同様の削除が無い問題と非常に大きなデータセットに参加しなかったが、それらの他のテーブルが1に素敵なプライマリキーの整合性(1を持つレコード)
delete prod
FROM tblname_cache
INNER JOIN tblname as prod
ON ( prod.company_number = tblname_cache.company_number
AND prod.record_key = tblname_cache.record_key)
他のヴィンとストックのコンボに50から100のユニークな特徴値を加えたユニークなフィーチャーテキストを持つvinとストックの上に暗黙の新しいクロス結合であると推測されます。 SET timestamp = 1489169267; cmdata.vauto_feed_optionsから削除をcmdata.vauto_feed_options 、cmdata.vauto_feed_options_cache cmdata.vauto_feed_options.stock__ = cmdata.vauto_feed_options_cache.stock__ AND cmdata.vauto_feed_options.vin = cmdata.vauto_f [切り捨て、278バイトの合計] – Philmee95
開始時刻、ユーザー[ルート] @ localhost [127.0.0.1] ID:4,241.833845、0.000000、0、0、0、0、0、0、0、0、 302843058、 – Philmee95
また、vin + stockコンボごとに1レコードを持つメインの詳細レコードから削除を試行し、またタイムアウトしました。 削除opt FROM cmdata.vauto_feed_options opt INNERはvauto_feed_vehicles_cache vehに参加します on(opt.stock__ = veh.stock__); – Philmee95