टेबल खाली है या नहीं जाँचने के लिए COUNT(*) के बजाय LIMIT 1 का उपयोग करना अधिक कुशल है।
कारण: COUNT(*) कम से कम एक इंडेक्स स्कैन करता है, जबकि LIMIT 1 पहली पंक्ति मिलते ही रुक जाता है।
एक टेबल बनाते हैं:
CREATE TABLE ReturnDemo (
Id INT,
Name VARCHAR(10)
);
रिकॉर्ड डालें:
INSERT INTO ReturnDemo VALUES (100, 'Larry'); INSERT INTO ReturnDemo VALUES (101, 'Bob'); INSERT INTO ReturnDemo VALUES (102, 'Sam');
टेबल खाली नहीं है जाँचने के लिए:
SELECT 1 AS Output FROM ReturnDemo LIMIT 1;
आउटपुट
+--------+ | Output | +--------+ | 1 | +--------+
यदि टेबल खाली है, तो कोई पंक्ति नहीं लौटेगी।
अन्य तरीके:
EXISTS (SELECT 1 FROM table)- बूलियन परिणाम देता है (1/0)SELECT COUNT(*) > 0 FROM table- कम कुशल
LIMIT 1 या EXISTS सबसे अच्छे विकल्प हैं।