SQL को एक गौरवशाली ISAM (अनुक्रमित अनुक्रमिक एक्सेस विधि) पैकेज के रूप में उपयोग करना। विशेष रूप से, एसक्यूएल बयानों को एक एकल में जोड़ने के बजाय शाप देने वाले घोंसले, यद्यपि बड़ा, बयान। यह भी 'ऑप्टिमाइज़र के दुरुपयोग' के रूप में गिना जाता है क्योंकि वास्तव में ऐसा नहीं है कि ऑप्टिमाइज़र बहुत कुछ कर सकता है। इसे अधिकतम अक्षमता के लिए गैर-तैयार बयानों के साथ जोड़ा जा सकता है:
DECLARE c1 CURSOR FOR SELECT Col1, Col2, Col3 FROM Table1
FOREACH c1 INTO a.col1, a.col2, a.col3
DECLARE c2 CURSOR FOR
SELECT Item1, Item2, Item3
FROM Table2
WHERE Table2.Item1 = a.col2
FOREACH c2 INTO b.item1, b.item2, b.item3
...process data from records a and b...
END FOREACH
END FOREACH
सही समाधान (लगभग हमेशा) दो चयनित बयानों को एक में मिलाना है:
DECLARE c1 CURSOR FOR
SELECT Col1, Col2, Col3, Item1, Item2, Item3
FROM Table1, Table2
WHERE Table2.Item1 = Table1.Col2
-- ORDER BY Table1.Col1, Table2.Item1
FOREACH c1 INTO a.col1, a.col2, a.col3, b.item1, b.item2, b.item3
...process data from records a and b...
END FOREACH
डबल लूप संस्करण का एकमात्र लाभ यह है कि आप टेबल 1 में मानों के बीच के ब्रेक को आसानी से देख सकते हैं क्योंकि आंतरिक लूप समाप्त होता है। यह कंट्रोल-ब्रेक रिपोर्ट में एक कारक हो सकता है।
इसके अलावा, आवेदन में छँटाई आमतौर पर एक नहीं-नहीं है।