benzersiz php mysql sorgularında 1 sınırlamak?

4 Cevap php

Ben merak ettim, bir doc i Tüm sorulara limiti 1 kullanmanızı öneririz okursanız endeksli ve benzersiz sütunları dahil olmak üzere mevcuttur. WHERE uniqueCol = val kullanırken limiti 1 yazı aslında sorguları yardımcı olur; ?

4 Cevap

Hayır, bir 'sınırı 1' ekleyerek bu durumda kod hızlandırmak yardımcı olmuyor. Bunun yerine, insanlar bunu neden yapıyorsun olağan nedeni, bunun yerine bir 'koruma' faktörü olduğu gibi. Bu size yardımcı olabilecek iki durum vardır:

  • Bazen, veritabanı tasarımı bağlı olarak, 1 sonuç sadece orada olduğunu düşünüyorum, ama üzerinize seçerek sütun aslında benzersiz bir sütun değilse, bazı garip nedenle, daha sonra geri iki sonuçlar alabilirsiniz eğer veritabanı bütünlüğü tutulmuştur değil. Ben programcılar bu nedenle sadece onlar sadece geri 1 sonuç bekliyoruz zaman olursa olsun, onlar sadece geri 1 sonuç ne almak sağlamak için, bu gibi durumlarda limiti 1 kullanın ve bu nedenle, kod başarısız neden olmaz gördüm.

  • Ve güvenlik. Ben de insanların zor SQL enjeksiyon saldırıları çok etkili olduğu için yapmak, sorgularda bir sınırı 1 koyma fikrini vaaz gördüm. Fikir varlık, birisi sadece '1 sonucu 'değerinde alacak, SQL enjeksiyon yapmak yönetmek durumunda. Şimdi bu ile sorun, birçok SQL enjeksiyon saldırıları verilerin 'satırın kalanını' göz ardı sonunda beri uygulamada, bu nadiren çalışır.

Bu nedenle, sonunda? Kesinlikle oraya koymak için size zarar vermez. Ama gerçekten her zaman bunu niçin katı bir neden yoktur. Ve aslında, ben nadiren oldukça minimal, faydaları kendinizi ikna olabilir, sırf kendim yapacağım.

Hayır.

No: bir eleman için ayarlanmış singleton'ununu sınırlamak için gerek yoktur.

Bu gerçekten sizin durumunuzda çok fayda sunmaz.

Sen http://stackoverflow.com/questions/455476/does-adding-limit-1-to-mysql-queries-make-them-faster-when-you-know-there-will bu ilgi daha önceki tartışma bulabilirsiniz