Добавление дополнительного столбца в таблицу приводит к проблемам с производительностью - PullRequest
0 голосов
/ 20 апреля 2020

Я сталкиваюсь со странной проблемой на одном из наших рабочих сайтов.

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

Мы не сталкиваемся с какими-либо проблемами в других средах, таких как QA и Dev. Кажется, что особенно задерживаются вызовы, которые получают данные из вышеупомянутой таблицы.

Мы используем Oracle в качестве внутренней базы данных.

Asp. Net MVC в качестве каркаса

Платформа сущностей Первый подход к базе данных в виде ORM

Примечание: я создал другую таблицу в prod с теми же столбцами и копия вставила данные и удалила старую таблицу, что тоже не помогает.

Ниже приведен DDL моего стола

CREATE TABLE "XYZ_OURSCHEMA"."SAMPLETABLE" 
   (    "CODE" VARCHAR2(20) NOT NULL ENABLE, 
    "COLUMN1" VARCHAR2(10) NOT NULL ENABLE, 
    "COLUMN2" NUMBER(12,2), 
    "COLUMN3" NUMBER(12,2), 
    "COLUMN4" CHAR(1) DEFAULT 'N', 
    "COLUMN5" NUMBER(12,2), 
    "COLUMN6" CHAR(1) DEFAULT 'N', 
    "COLUMN7" VARCHAR2(300), 
    "COLUMN8" DATE, 
    "COLUMN9" DATE, 
    "COLUMN10" VARCHAR2(200), 
    "COLUMN11" DATE, 
    "COLUMN12" VARCHAR2(200), 
    "COLUMN13" NUMBER(12,2), 
     CONSTRAINT "SAMPLETABLE_PRI" PRIMARY KEY ("CODE", "COLUMN1")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "OURSCHEMA_INDEX"  ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "OURSCHEMA_DATA" ;
  CREATE UNIQUE INDEX "XYZ_OURSCHEMA"."SAMPLETABLE_PRI" ON "XYZ_OURSCHEMA"."SAMPLETABLE_TBL" ("CODE", "COLUMN1") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "OURSCHEMA_INDEX" ;
  CREATE INDEX "XYZ_OURSCHEMA"."SAMPLETABLE_COLUMN1_IDX" ON "XYZ_OURSCHEMA"."SAMPLETABLE_TBL" ("COLUMN1") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "OURSCHEMA_INDEX" ;
  ALTER TABLE "XYZ_OURSCHEMA"."SAMPLETABLE_TBL" ADD CONSTRAINT "SAMPLETABLE_PRI" PRIMARY KEY ("CODE", "COLUMN1")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "OURSCHEMA_INDEX"  ENABLE;
  ALTER TABLE "XYZ_OURSCHEMA"."SAMPLETABLE_TBL" MODIFY ("COLUMN1" NOT NULL ENABLE);
  ALTER TABLE "XYZ_OURSCHEMA"."SAMPLETABLE_TBL" MODIFY ("CODE" NOT NULL ENABLE);

Есть ли идеи, почему это произошло? Или есть что-то, что можно изменить или изменить, чтобы выйти из этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...