Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
REPLACE ve REGEXP_REPLACE fonksiyonu

Açık 1 Cevaplar 23 Gösterim Veri Tabanı
REPLACE ve REGEXP_REPLACE fonksiyonu nasıl kullanılıyor?

Veri query oluştururken ve update işlemi yaparken de kullanabilir miyiz. Peformans açısından da bir kıyaslama mümkün müdür?

select   REPLACE(.....) veya REGEXP_REPLACE(...., .., ..)    from table;

update  table set column = REPLACE(.....) veya REGEXP_REPLACE(...., .., ..)

1 cevap

0
Önce kısa açıklamayla başlayalım.

İki fonksiyon da bir metin içindeki karakterleri verilen karakterlerle değiştirmeye yarar.

Replace direk olarak verilenleri değiştirmekle beraber. Adından da anlaşıldığı üzere regexp_replace metnin içindeki değiştirilecek olan karakterleri regex kullanarak belirlemeye yarar.

Performans açısından direk cevap veremiyorum. Keza replace daha basit bir implementasyon oluyor. Kısa metinlerde hem memory hem de işlemci tarafında taha basit olduğu için hızlı olması muhtemel. Metin uzadıkça nasıl performans gerçekleştirirler biraz tecrübe etmek gerekiyor.

Normal veri işlemede pek de uzun metinler üzerinde çalışmadığımız için (relational dbler üzerindeki sorgulardan bahsediyorum) arasında performans açısından pek fark görmeyeceksin diye bekliyorum.

Regex_replace çalıştırırken regex hatalı olduğu için çok küçük metinlerde dahi sistemi kilitlediğini ve cevap veremez şekle getirdiğini birçok kez tecrübe ettim.
(4k puan)