Хобрук: Ваш путь к мастерству в программировании

SQL Server не сразу предоставляет все данные для таблиц/запросов

Недавно мы перевели серверную часть на SQL Server (из Access) и все еще используем интерфейсную часть Access.

Я заметил, что некоторые таблицы или формы не отображают количество записей на панели навигации, как это было, когда у нас была серверная часть Access. Я исследовал и нашел статью, в которой говорится, что SQL Server не загружает автоматически все записи для связанных таблиц или запросов, пока не будут запрошены эти конкретные записи (или что-то в этом роде). По-видимому, Access делает то же самое, но у них разные настройки по умолчанию для того, сколько записей заставляет их удерживать некоторые данные.

Наша база данных довольно мала по меркам баз данных. Есть ли способ, чтобы SQL Server постоянно обслуживал нас всеми данными? Мы уже используем представления и проходим через запросы, чтобы свести к минимуму объем данных, необходимых для отправки по сети. Я не думаю, что мы получим большую производительность от того, что SQL Server «умно» обслуживает нас такого рода данными. Наши пользователи скорее подождут секунду, чтобы получить данные, а затем смогут быстрее перемещаться по своим формам во внешнем интерфейсе, если это имеет смысл. И было бы полезно увидеть количество записей.

Для справки: мы используем (надеюсь, я правильно понимаю эту терминологию, я новичок в этом) подключение DAO со строкой подключения, которая выглядит следующим образом. Есть ли что-то, что я могу добавить в строку подключения, чтобы повлиять на это поведение? Или какие-то настройки в нашей базе данных?

' Define connection string
qdf.Connect = "ODBC;Driver=" & myDriver & ";" & _
              "server=" & myServer & ";" & _
              "database=" & mySQLDB & ";" & _
              "uid=" & myuid & ";" & _
              "Pwd=" & mypwd & ";"

  • Выполнение таких конкретных вещей, к сожалению, ограничено формами. Для формы в виде таблицы (которая выглядит как запрос) я мог бы показать вам, как это сделать. 03.03.2018
  • Сначала несколько вопросов: а) ваше приложение обслуживает несколько пользователей в каждый момент времени или оно используется в основном одним пользователем? б) «все данные» — вы имеете в виду только количество записей или можете описать, какие строки не возвращаются SqlServer? 03.03.2018
  • Ответы: (a) Обслуживает много (~50) пользователей, хотя, вероятно, не более ~20 одновременно. (b) Я не уверен, какие данные могут быть загружены, а какие нет, хотя на некоторых веб-страницах, которые я исследовал, было указано, что не все данные были загружены. Нашей основной проблемой является количество записей, но я просто имел в виду, что если SQL Server делает это для повышения производительности, то производительность здесь нас мало волнует. 03.03.2018

Ответы:


1

Если вы хотите инициализировать весь набор записей при загрузке формы, вы можете сделать следующее:

Private Sub Form_Load()
    Me.RecordSet.MoveLast
    Me.RecordSet.MoveFirst
End Sub
03.03.2018
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..