हालांकि आशुलिपि डोमेन कार्यों जैसे कि डीएलकेप आकर्षक हैं, उनके पास नुकसान हैं। समकक्ष जेट एसक्यूएल
SELECT FIRST(island)
FROM villages
WHERE village = ?;
जैसा कुछ है
यदि आपके पास एक से अधिक मिलान करने वाले उम्मीदवार हैं तो यह 'पहला' चुनेंगे, 'प्रथम' की परिभाषा कार्यान्वयन (एसक्यूएल इंजन) निर्भर है और जेट/एसीई इंजन आईआईआरसी के लिए अपरिभाषित है। क्या आप जानते हैं कि कौन सा पहला होगा? यदि आप DLookup को साफ़ नहीं करते हैं :)
[रुचि के लिए, जेट/एसीई के लिए उत्तर क्लस्टर इंडेक्स के आधार पर न्यूनतम मान होगा जब डेटाबेस फ़ाइल आखिरी बार कॉम्पैक्ट की गई थी या पहली (मान्य समय) यदि डेटाबेस कभी संकलित नहीं किया गया है तो सम्मिलित मूल्य। क्लस्टर्ड इंडेक्स बदले में प्राइमरी कुंजी द्वारा निर्धारित किया जाता है यदि अन्यथा गैर-कॉलम पर परिभाषित एक विशिष्ट बाधा या सूचकांक, अन्यथा पहली (वैध समय) पंक्ति डाली गई है। क्या होगा यदि नल कॉलम पर परिभाषित एक से अधिक अद्वितीय बाधा या अनुक्रमणिका है, जिसे क्लस्टरिंग के लिए उपयोग किया जाएगा? मुझे पता नहीं है! मुझे भरोसा है कि आपको यह विचार मिलता है कि 'पहला' निर्धारित करना आसान नहीं है, भले ही आप कैसे जानते हों!]
मैं भी Microsoft से सलाह देखा है देखने का एक अनुकूलन बिंदु से डोमेन कुल कार्यों का उपयोग कर से बचने के लिए:
एक एक्सेस डेटाबेस http://support.microsoft.com/kb/209126
में क्वेरी प्रदर्शन के बारे में जानकारी "डोमेन कुल कार्यों के उपयोग से बचें एक प्रश्न का उपयोग कर आप तो पैरामीटर वाक्य रचना का लाभ ले सकते लिखने कर रहे हैं, इस तरह के DLookup समारोह के रूप में ... जेट डेटाबेस इंजन प्रश्नों कि डोमेन कुल कार्यों "
का उपयोग आप के लिए चुनते हैं अनुकूलित नहीं कर सकते हैं, या आप पसंद कर सकते हैं जी टी 4.0/एसीई प्रक्रिया वाक्यविन्यास उदा। जैसे
CREATE PROCEDURE GetUniqueIslandName
(
:village_name VARCHAR(60)
)
AS
SELECT V1.island_name
FROM Villages AS V1
WHERE V1.village_name = :village_name
AND EXISTS
(
SELECT V2.village_name
FROM Villages AS V2
WHERE V2.village_name = V1.village_name
GROUP
BY V2.village_name
HAVING COUNT(*) = 1
);
कुछ इस तरह से आप इंजन की अपनी कार्यक्षमता का उपयोग कर सकते हैं - या उसका डेटा प्रदाताओं में से कम से कम है कि - सभी पात्रों से बचने के लिए (केवल डबल नहीं और एकल उद्धरण) के रूप में आवश्यक।
है कि मैं वास्तव में क्या देख रहा हूँ - बहुत बहुत शुक्रिया – inglesp
ध्यान दें कि बदलें() पहुँच के पुराने संस्करणों में मौजूद नहीं लगता है (यानी एक्सेस 97।)। – apenwarr
बदलें() पहुँच 2000 –