Поэтому у меня есть следующие вопросы: Как работает функция SETCURRENTKEY() C/AL в Navision?
1. What does SETCURRENTKEY actually do? 2. What is the benefit of SETCURRENTKEY? 3. Why would I use SETCURRENTKEY? 4. When would I use SETCURRENTKEY? 5. What is the advantage of using an index and how do I tie this analogously to the example of an old sorting system of a library? 6. What type of database querying efficiency problems does this function solve?
Я искал по всему интернету и «IT Pro Developer Справка» внутренняя документации Navision для этого плохо документированы функций, и я не могу найти правильный ответ на мои вопросы.
Единственное, что я знаю, это то, что SETCURRENTKEY устанавливает текущий ключ для переменной записи и сортирует набор записей на основе этого. Когда SETCURRENTKEY используется только с несколькими ключами, это может повысить производительность запросов. Я понятия не имею, что на самом деле происходит, когда база данных использует индекс или не использует индекс.
Кто-то сказал мне, что это работает, как работает SETCURRENTKEY: «Это похоже на старую систему картографических карточек в библиотеке: без SETCURRENTKEY вам придется проходить через каждую полку и вручную отфильтровывать книгу, которую вы хотите. сочетание случайных книг, и вы должны сказать: «Нет, не этот. Да, это один ». С помощью SETCURRENTKEY вы можете иметь индекс, аналогичный старой системе, где вы просто заходите в книжный или музыкальный компакт-диск на основе его« автора »или« исполнителя »и т. Д.«
Это все нормально , но я до сих пор не могу ответить на мои вопросы.
спасибо, Ivka. – MrStack
В соответствии с первым утверждением выше, SETCURRENTKEY (...) не требуется с оператором GET (...). –
Правда. GET() всегда будет использовать первичный ключ и будет игнорировать применяемые фильтры. – Ivka