2016-04-22 11 views
-1

私はクエリを実行しようとしています(ローカルと自分のサーバーで試しています)。クエリは1つのテーブルから値をとり、2番目のテーブルに値を入れますISBNフィールドが同じであるので、私が持っていることは参加するクエリを更新する(MYSQL)時間がかかります

update valorebest2 
join buylist on valorebest2.isbn= buylist.isbn 
set valorebest2.binding = buylist.binding, valorebest2.buy = buylist.buy 

valorebest2で40万件のレコードを持っている、とbuylistは(完成したときに約1,000,000を持っています)について300,00を持っています。このアップデートを実行するには6〜8時間かかります。

これを行うには別の方法がありますか?私はPHPまたはAjaxを必要に応じて使用できます。

+1

両方の結合フィールドにインデックスがありますか? – steven

+0

私はあなたのデータ要件と使用法を確信することはできませんが、それらの値が必要なときに、単に 'valorebest2'から更新されたフィールドを落とし、' buylist'にJOINするのは簡単でしょうか?また、何が言ったのか。どのデータ型が 'isbn'ですか? – Uueerdo

+0

isbn数値は一種のvarcharです。 – steven

答えて

0

皆の示唆を読んだ後、テーブルを変更して、isbn列をvarcharではなくdoubleに変換し、両方のテーブルでisbnフィールドをインデックス化しました。時間を37秒に短縮しました。

関連する問題