İlk öncə sualım MySql replace() nə işə yarayır.
İkinci sualım isə,
1.
————————————————————————————————-
IF EXISTS (SELECT * FROM Table1 WHERE Column1=’SomeValue’)
UPDATE Table1 SET (…) WHERE Column1=’SomeValue’
ELSE
INSERT INTO Table1 VALUES (…)
————————————————————————————————-
2.
————————————————————————————————-
$result = mysql_query(“update test set col=’test’ where col_id=’1′;”);
if (mysql_affected_rows()==0) {
$result = mysql_query(“insert into test (col_id, col) values (‘1′,’test’);”);
}
————————————————————————————————-
Yuxardakılardan hansı daha sürətlidir? 1 yoxsa 2ci və hansında proses daha sürətli olur.
Qeyd:
Bu iki sualı bir yerdə yerləşdirməkdə səbəb isə, İngilis dilində olan saytlarda bunu axtararkən “mysql replace” ilə əvəzləmələridir.
Verilmiş cavablar və yazılan şərhlər (4 cavab var)
0
MySQL replace hər hansı data-da üzərində replace əməliyyatı etmək üçündür.
Məsələn Update table set field=replace(field,’a’,’b’) where id=1; sorğusunda id=1 sətrində field adlı sahədə bütün a-lar b ilə əvəz olunacaq.
Sualın ikinci hissəsinə gəldikdə isə təbii ki tək proses tək mysql-in daxilində getsə daha sürətli olar, nəinki php-mysql-php işləsə.
0
Elvin bəs
belə əvəzləmək olar ikinci qeyd etdiyimi!?
0
Məndə bütün prosesləri 1ci qeyd etdiyim prosesdeki kimi sürətli olmasını bilirdim amma ingilislərin saytında tərsinə yazılmasını gördüm dedim dəqiqləşdirim =))
0
Düzü son yazdığın query-dən heç işlətməmişəm, ən yaxşısı test edib baxmaqdır ki ikinci yazdığını o əvəz edir ya etmir 🙂
Sual verin
Cavab verin