Если я выполняю несколько эмуляторов с - опция без окон в одной машине. Команда "adb устройства" шоу:
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
...
Однако согласно этому выводу, я не могу сказать различие между каждым устройством эмулятора вообще. Я должен знать, какой эмулятор работает на том, какой AVD, затем я могу установить APKs или отправить командам в эмулятор.
Как я могу распознать каждое устройство эмулятора или получить порядковый номер эмулятора после того, как это будет работать?
Всегда запускайте один и тот же AVD на одних и тех же портах, не позволяйте эмулятору решать. Используйте
$ emulator -ports X,Y @avd_X
затем, серийный номер будет emulator-X и ваш avd_X всегда будет на портах X,Y, так что вы можете запускать свои команды с этим серийным номером, как например
$ adb -s emulator-X shell cmd
Чтобы убить эмулятор, запустите
$ adb -s emulator-X emu kill
Во-первых, почему DBCC DROPLEANBUFFERS;
? Это жесткий холодный сброс буферного пула. Если вы не хотите измерять и настраивать производительность ввода-вывода жестких дисков, никого не волнует производительность холодной кэш-памяти. Система будет работать не , а . Кэширование страниц в буферном пуле - это наиболее критический аспект производительности в базах данных, и вы извлекаете его. Это похоже на появление в Ferrari без двигателя и вопрос, почему так медленно. Для измерения производительности необходимо точно выполнить противоположное : выполнить запрос 4-5 раз, чтобы разогреть кэш, а затем измерить.
Во-вторых, какова структура таблицы? Является ли таблица Account
порядком индекса кластера таблицы Record _ id
? Если нет, вы никогда не получите нужную производительность, независимо от того, как вы выражаете свой T-SQL.
И последнее, но не менее важное, какая у вас система? Достаточно ли оперативной памяти для кэширования всей базы данных в памяти? Если нет, купите больше оперативной памяти. Есть ли другие процессы, которые конкурируют за память, такие как IIS/Asp? Если да, выкиньте их на свой собственный сервер, то если важна производительность, следует никогда запускать базу данных на том же хосте, что и веб-сервер .
Для альтернативного быстрого пейджинга рассмотрите решения, управляемые набором ключей:
/* moving up */
SELECT top(@Page_Size) *
FROM Account.Customer
WHERE Record_Id > @lastPageRecordId
ORDER BY Record_Id;
/* moving down */
SELECT top(@Page_Size) *
FROM Account.Customer
WHERE Record_Id < @firstPageRecordId
ORDER BY Record_Id DESC;
Решение, управляемое набором ключей, может искать прямо до последней позиции, а затем сканировать следующую/предыдущую страницу, используя позицию ключа кластеризованного индекса. Пейджинговая логика (состояние) должна запоминать последнюю и первую клавиши на отображаемой странице, чтобы продолжить оттуда, вместо запоминания номера страницы.
Решения на основе Rowcount (а также LIMIT в MySQL) менее эффективны, чем решения на основе набора ключей, потому что они всегда должны считать записи, чтобы позиционировать себя, а не искать прямо в позицию, как наборы ключей могут.
-121--3594918-Только часть того, что вы спрашиваете, но, вероятно, полезно: http://www.brucelindbloom.com/index.html?Equations.html
-121--4043407- В строке заголовка окна эмулятора отображается тот же ряд (например, эмулятор-5554
).