/ MySQL RENAME TABLO statment işi nasıl performans gösteriyor?

2 Cevap php

MySQL bir tablo adını değiştirmek sağlayacak bir RENAME TABLO statemnt vardır.

Manuel söz

The rename operation is done atomically, which means that no other session can access any of the tables while the rename is running

Manuel bu adlandırma gerçekleştirilir nasıl devlet (benim Knowedge için) değildir. Daha sonra bir bütün, yeni bir isim verilmiş oluşturulan tablonun kopyası, ve eski tablo silinir mi? Veya MySQL hızla tabloyu yeniden adlandırmak için perde arkasında bazı büyü yapar?

Diğer bir deyişle, tablo boyutu RENAME tablo deyim çalıştırmak için ne kadar süreceğini üzerinde bir etkisi var. Bir blok adlandırma önemli ölçüde bloke olmasına neden olabilir başka şeyler var mı?

2 Cevap

Tablodaki kayıtların sayısı alakasız olmalı - Ben MySQL sadece saklı yordamlar tablonun eski adı meta ve başvuruları değiştirmek gerekiyor inanıyorum.

Meta değiştiren ek olarak, aynı zamanda ilişkili. FRM dosyası adlandırır. Onlar bir "atom" operasyon olma iddiasında iken, bu mysql_rename_tables işlev için kod gerçek bir yorumdur ...

/* Lets hope this doesn't fail as the result will be messy */

=)