PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Слабо представяне на Dataframe в Postgresql

Аз сам отговарям на въпрос 1:Изглежда, че проблемът е свързан повече с Postgresql (или по-скоро базите данни като цяло). Като се вземат предвид точките, направени в тази статия:https://use-the- index-luke.com/sql/dml/insert Намерих следното:

1) Премахването на всички индекси от целевата таблица доведе до изпълнение на заявката за 9 секунди. Повторното изграждане на индексите (в postgresql) отне още 12 секунди, така че все още доста под другите времена.

2) При наличие само на първичен ключ, вмъкването на редове, подредени по колоните на първичния ключ, намали необходимото време до около една трета. Това има смисъл, тъй като трябва да има малко или никакво разместване на необходимите индексни редове. Също така проверих, че това е причината моето декартово съединение в postgresql да е по-бързо на първо място (т.е. редовете бяха подредени по индекса, чисто случайно), поставяйки същите редове във временна таблица (неподредена) и вмъквайки от това всъщност отне много повече време.

3) Опитах подобни експерименти на нашите mysql системи и открих същото увеличение на скоростта на вмъкване при премахване на индекси. С mysql обаче изглеждаше, че възстановяването на индексите изразходва всяко спечелено време.

Надявам се това да помогне на всеки друг, който попадне на този въпрос при търсене.

Все още се чудя дали е възможно да премахна стъпката за запис в csv в python (Q2 по-горе), тъй като вярвам, че след това мога да напиша нещо в python, което би било по-бързо от чистия postgresql.

Благодаря, Джайлс




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проблем със Sqlalchemy и вмъкване на масив от jsonb в postgresql

  2. PostgreSQL - как да определите дали транзакцията е активна?

  3. Ускорете теста за диапазон за ключови стойности, вложени в масив от обекти jsonb

  4. Подобрения в отчитането на напредъка в PostgreSQL 12

  5. Вземете последния ден от месеца в PostgreSQL