Büyük bir tabloda UPDATE veya DELETE çalıştırdığınızda standart bir işlem, işlem tamamlanana kadar tabloyu kilitler. Bu durum okuma ve yazma işlemlerini engeller ve üretim trafiğini bozan zaman aşımlarına yol açabilir. Kilitsiz veri değişikliği, etkilenen satırları küçük toplu işlere ayırıp her birini ayrı, kısa ömürlü bir işlem olarak işleyerek bu sorunu önler. Her toplu iş hemen commit edilir ve kilidi serbest bırakır; böylece tablo işlem süresince yanıt vermeye devam eder.
Dikkat edilmesi gerekenler
Kilitsiz veri değişikliği yalnızca tek tablo ve basit SQL işlemlerini (SELECT, UPDATE ve DELETE gibi) destekler. Çoklu tablo işlemleri (JOIN içeren DELETE deyimleri gibi) desteklenmez.
Yordam
Bu örnekte, long_text_b tablosundaki big_table sütunundaki verileri toplu işler halinde random long text olarak değiştirmek için kilitsiz veri değişikliği özelliği kullanılır.
-
Normal bir kullanıcı bilet gönderir.
Data Management DMS 5.0 konsolunda oturum açın.
-
Üst gezinme çubuğunda Database Development > Data Change > Lockless change seçeneklerini belirleyin.
NotDMS konsolunu basit modda kullanıyorsanız konsolun sol üst köşesindeki
simgesinin üzerine gelin ve seçeneklerini belirleyin. -
Gerekli bilgileri yapılandırın ve Submit düğmesini tıklayın.
Aşağıdaki tabloda bazı parametreler açıklanmaktadır.
Parametre Zorunlu Açıklama Database Evet poc_dev</code>.</code>seçeneğini belirleyin.Business Background Hayır Onay verenlerle gidip gelmeyi azaltmak için iş gereksinimlerinizi açıklayın. Affected Rows Evet Bu değişikliğin etkileyeceği satır sayısını tahmin edin. Bu sayıyı almak için SQL Console içinde bir COUNT</code> sorgusu çalıştırın.</code>SQL Statements for Change Evet Çalıştırmak için UPDATE veya DELETE deyimini girin. -
Ticket Details sayfasında Batch Execution Configuration düğmesini tıklayın, aşağıdaki parametreleri ayarlayın ve Submit Change düğmesini tıklayın.

-
Bilet ayrıntılarını onaylayın.
NotBilet ayrıntılarını kontrol etmek için Ticket Details sayfasını görüntüleyebilirsiniz. Sistem ayrıca çalıştırılacak SQL deyimi üzerinde SQL sözdizimi ayrıştırma, güvenlik kurallarına göre SQL türü doğrulama, bilet gönderenin izin doğrulaması ve tahmini tarama satırları dahil olmak üzere bir ön denetim gerçekleştirir.
-
Bilgilerin doğru olduğunu ve ön denetimin geçtiğini onayladıktan sonra Submit for Approval düğmesini ve ardından Confirm düğmesini tıklayın.
ÖnemliOnay için göndermeden önce bilet içeriğini ve zamanlama yapılandırmasını değiştirebilirsiniz. Bilet onay için gönderildikten sonra bilgiler değiştirilemez.
-
Yönetici bileti onaylar ve yürütür.
Data Management DMS 5.0 konsolunda oturum açın.
DMS konsolu ana sayfasında My Tickets bölümünde Pending Tickets seçeneğini tıklayın.
My Tickets sayfasında hedef ticket number seçeneğini tıklayın.
Ticket Details sayfasında bilet değişiklik bilgilerini onaylayın ve Approve düğmesini tıklayın.
Onay yorumları metin kutusuna yorumlarınızı girin ve OK düğmesini tıklayın.
Execute Change düğmesini tıklayın, yürütme zamanını seçin ve OK düğmesini tıklayın.
-
Confirm Execution düğmesini tıklayın; sistem yürütmeyi otomatik olarak başlatır.
NotVarsayılan olarak hemen yürütülür. Ayrıca bir başlangıç yürütme zamanı da seçebilirsiniz.
Bir bitiş zamanı belirtirseniz zaman geldiğinde sistem tamamlanmamış SQL deyimlerini artık yürütmez. Bu özellik öncelikli olarak yoğun saatlerde iş üzerinde etki oluşmasını önlemek için kullanılır.
Execution bölümünde Details düğmesini ve ardından görev yürütme ilerlemesini görüntülemek için Execution Progress düğmesini tıklayın.
-
Yönetici görevi doğrular.
konsolunda oturum açın.
Örnek listesinde POC_dev</code> örneğini genişletin ve SQL Console'u açmak için
poc_dev</code> database to open the SQL Console.</code>veritabanına çift tıklayın.-
SQL Console penceresinde aşağıdaki sorgu deyimini girin ve Execute düğmesini tıklayın.
long_text_bsütunundaki verilerin güncellendiğini görebilirsiniz.SELECT * FROM `big_table`;