Как улучшить производительность одной вставки в Oracle - PullRequest
0 голосов
/ 31 мая 2019

В моем случае мне нужно вставить одну строку и я не могу использовать пакетную вставку.Итак, я хочу знать, какую пропускную способность может сделать Oracle.Я пробую эти способы:

Эффективный способ

  • Я использую многопоточность, каждый поток имеет одно соединение для вставки данных
  • Я использую ssd для хранения файла данных Oracle1008 *

Неэффективный способ

  • Я использую несколько таблиц для хранения данных в одной схеме
  • Я использую раздел таблицы
  • Я использую несколько схем дляхранить данные
  • увеличить размер файла блока данных
  • Использовать подсказку добавления во вставке SQL

В итоге лучший TPS равен 1w / s +

Другое:

  • Oracle 11g
  • Размер данных одной вставки 1k
  • CPU i7, 64 ГБ памяти

1 Ответ

1 голос
/ 31 мая 2019

Oracle высоко оптимизирован для всего, от вставок в одну строку до пакетов из сотен строк. Вы не упоминаете, есть ли у вас проблемы с производительностью этой вставки в одну строку, и сколько времени занимает вставка. Для такой простой операции вам не нужно беспокоиться ни об одной из этих деталей. Если у вас есть тысячи пользователей, вставляющих одну строку в таблицу каждую минуту, не проблема. Если вы выполняете свою работу в нужное время и у вас нет большого количества индексов, вставка одной строки не должна занимать более нескольких миллисекунд.

В SQL * Plus попробуйте команды

set autotrace on explain statistics
set timing on

и запустите оператор вставки.

Измените ваш вопрос, чтобы включить результаты плана объяснения. И обязательно сделайте отступ в 4 пробела.

...