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

Има ли проблеми с производителността при съхраняване на файлове в PostgreSQL?

Имате основно два избора. Можете да съхранявате данните направо в реда или да използвате възможността за голям обект. Тъй като PostgreSQL вече използва нещо, наречено TOAST за да преместите големи полета извън таблицата, не трябва да има наказание за производителност, свързано със съхраняването на големи данни в реда директно. Остава ограничение от 1 GB в размера на полето. Ако това е твърде ограничено или ако искате API за поточно предаване, можете да използвате възможността за голям обект, която ви дава нещо повече като файлови дескриптори в базата данни. Вие съхранявате LO ID във вашата колона и можете да четете и пишете от този ID.

Аз лично бих ви препоръчал да избягвате съоръжението за големи обекти, освен ако не ви е абсолютно необходимо. С TOAST повечето случаи на употреба се покриват само с използване на базата данни по начина, по който бихте очаквали. С големи обекти вие си натоварвате допълнително с поддръжката, тъй като трябва да следите LO идентификаторите, които сте използвали, и не забравяйте да прекратите връзката им, когато вече не се използват (но не и преди), или ще останат във вашия директорията с данни заема място завинаги. Има и много съоръжения, които имат изключително поведение около тях, подробностите за които ми убягват, защото никога не ги използвам.

За повечето хора голямата загуба на производителност, свързана със съхраняването на големи данни в базата данни, е, че вашият ORM софтуер ще изтегли големите данни при всяка заявка, освен ако изрично не го инструктирате да не го прави. Трябва да внимавате да кажете на Hibernate или каквото и да е друго, което използвате, да третира тези колони като големи и да ги извлича само когато са изрично поискани.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Контролен списък за съответствие с SOx за PostgreSQL

  2. Задаване на схема за всички заявки на връзка в psycopg2:Получаване на условие за състезание при настройка на search_path

  3. Postgresql - връща целия ред като масив

  4. SQL групови стойности за една колона по друга колона

  5. plpgsql CREATE FUNCTION синтактична грешка при или близо до 'CREATE'