cevap
Her ikisi de birbirinin kadar verimli - bunlar işlevler birbiriyle aynı havaya sahiptir.
Ama bu ikisinden de daha verimlidir: işlev çağrılır gerekmez
(column_name is null
or column_name = 'test')
çünkü.
Daha sık karşılaşılan sınama işleminin ilk önce performansı artırdığını görebilirsiniz.
böyle sorularla, en basit ve daha güvenilir bir yol göreli performansını keşfetmeye sadece onları denemek ve sorgu zamanlamalarını karşılaştırmaktır. Testin adil olması için, üretim ölçekli ve gerçekçi değerli veri kümeleri olduğundan emin olun.
NULLIF
ve IFNULL
'un amacı aynı değildir, bu nedenle performans karşılaştırması mantıklı değildir.
NULLIF
IFNULL
ifade
null
ise
text
döndürmek için kullanılır ise,
null
döndürmek için kullanılır.
Örnek: null
yana
SELECT IFNULL(field,'empty') from table1;
son kullanıcıya çok mantıklı değil. null
yana
insert into table1 (field) values (nullif(field,'empty'));
veritabanında özel bir anlamı vardır.
Farklı amaçlarla kullanılırlar, performans karşılaştırması herhangi bir anlam ifade etmez.
select if(a,b,c); # a ? b : c # if a!=0 and a is not null then b else c
select ifnull(a,b); # a ? a : b # if a is not null then a else b
select nullif(a,b); # a=b ? null : a # if a=b then null else a
http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html
- 1. Git, <<<<<<< HEAD dosyasına
- 2. <: <İş nasıl?
- 3. Java, bitshifts kullanırken, neden 1 << 32! = 1 << 31 << 1?
- 4. css: 2 veya <code><thead></code> yılında <code><tr></code> daha varsa <tr>
- 5. EJS: <% = versus <% -
- 6. "<%:" ne yapıyor?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>"<%:" Ne vermez: do
- 7. Kanal seç <- <- Kanal
- 8. İçindeki eleman sayısı <5 in <a1 <0</ a1><T>
- 9. Enzim ile çocuk bileşeni yöntemi nasıl test edilir?</p> <pre><code><Parent> <Child/> </Parent> </code></pre> <p>ve <code><Child/></code> bileşen bir yöntem <code>foo</code> vardır:
- 10. Akış çıkışında <yerine <neden hala <çoğum?
- 11. <nedir? ve <? php
- 12. Nedir? ve << demek?
- 13. Şu izle ifadem tutan bana gösteriyor Şu anda bir</p> <pre><code>Expression<Func<T,bool>> </code></pre> <p>bir</p> <pre><code>Expression<Func<T,object>> </code></pre> <p>dönüştürmek çalışıyorum
- 14. Objective-C'de özel yönergeler oluşturmak mümkün mü?</p> <ul> <li>@interface</li> <li>@implementation</li> <li>@end</li> <li>@protocol bence</li> <li>@property</li> <li>@synthesize</li> </ul> <p>:
- 15. um Vim <code>is</code> için <code>is</code> den Python'la
- 16. <section>, <nav> ve <article>
- 17. ActivityUnitTestCase getActionBar() <code>onCreate()</code> null
- 18. XPath - tüm elemanlar alt elemanlara belge</p> <pre><code><a> <b> <c/> <d/> </b> <b> <c/> <d/> </b> </a> </code></pre> <p>Verilen
- 19. Rails ne kullanıyor? çağırarak, benim RSpec testlerde</p> <pre><code>sleep(10.0) </code></pre> <p>:
- 20. Returnsasync (null) I (<code>Moq</code> ile birlikte), Visual Studio C# birim test yönteminde <code>ReturnsAsync(null)</code> kullandığınızda
- 21. </p> <pre><code>var tpl = ` <div> template <span>string</span> </div> ` </code></pre> <p>üretecektir
- 22. HTML açıklama etiketi <!-- --> MiscTools HTML editörü açmak Ancak CQ% metni düzenleyebilir ve CQ bunu yeniden yazar bu</p> <pre><code><div id="test">Test <!-- Test Comment --></div> </code></pre> <p>gibi fiil yaratmak eklentisi ile CQ5
- 23. Linq:</p> <p><code>Company</code>, <code>Invoice</code> ve ondalık özelliği <code>Price</code> sahiptir <code>InvoiceLine</code>: toplamlar
- 24. BOOST_CHECK_NO_THROW ben</p> <pre><code>BOOST_CHECK_NO_THROW(method_to_test()); </code></pre> <p>kullanarak bir yöntemi sınamak
- 25. İçinde Gettext kullanarak PHP <<< EOF dizgisi
- 26. PureScript'te üçlü işaret (<<< `) işareti ne kadar azdır?
- 27. Zeus ile test ortamında Rails konsolu nasıl çalıştırılır? peşin <code>zeus console test</code></p> <p>teşekkür çok:
- 28. Assert.fail (node.js): Operatör parametresi ne anlama geliyor?</p> <pre><code>assert.fail(actual, expected, message, operator) </code></pre> <p><code>operator</code> ne anlama gelir:
- 29. Sözlük <> bir IEnumerable <> kaynağı ile doldurma</ a0><a1></ a1>
- 30. Ondalık değeri: cout << dec << boost :: this_thread :: get_id()